2011-07-28 4 views
0

Alors que la construction d'un code de jeu dans le simulateur Qt je reçois l'erreur suivante:bibliothèque Qt openGL ES d'erreur reliant

-1: error: LNK1104: cannot open file 'libEGL.lib'

J'ai ajouté le code suivant pour ajouter des fichiers bibliothèque:

INCLUDEPATH += C:\Imagination_Technologies\POWERVR_SDK\OGLES2_WINDOWS_X86EMULATION_2.08.28.0634\Builds\OGLES2\Include\
LIBS += -LC:\Imagination_Technologies\POWERVR_SDK\OGLES2_WINDOWS_X86EMULATION_2.08.28.0634\Builds\OGLES2\WindowsX86\Lib\ -llibEGL -llibGLESv2

LIBS += -llibEGL -llibGLESv2

+0

S'il vous plaît fournir une liste de fichiers sous C: \ Imagination_Technologies \ POWERVR_SDK \ OGLES2_WINDOWS_X86EMULATION_2.08.28.0634 \ Builds \ OGLES2 \ WindowsX86 \ Lib \ –

+0

après 4 fichiers sont présents dans ce dossier: 1) libEGL.dll 2) libEGL obj fichier 3) libGLESv2.dll 4) fichier obj libGLESv2 – hurricane

Répondre

-2

Cette le message d'erreur est assez clair: libEGL.lib ne peut pas être trouvé sur le chemin spécifié.

Voici quelques règles de l'éditeur de liens GNU, citées de MinGW docs.

  • If the library is not found in any of the default library search paths, you may also need to insert an appropriate -L<dir> switch to specify its location; (it is recommended that you place the -L switch before the -l` specification which requires it).
  • Note that the library names lib<name>.a and lib<name>.lib are not equivalent; if you have a library named according to the aberrant lib<name>.lib convention, it will not be found by an -l<name> specification -- if you cannot rename the library, you must use the form -llib<name> instead.
+0

J'ai spécifié le chemin libEGL.lib ..... pouvez-vous me dire comment ajouter cette lib particulière – hurricane

+0

Selon votre commentaire, il n'y a pas de fichier libEGL.lib dans votre chemin, seulement .obj et .dll. Vous devez lier les fichiers obj à votre exécutable ou directement charger/utiliser les fichiers dll de votre programme. Dernier commentaire tombe hors de cette question portée. –

+0

Downvoter (s), veuillez fournir une raison. Sinon, vous volez la réputation de nous deux, sans faire la lumière sur ce qui ne va pas. –

0

Il y a un certain temps que je me suis arrêté la programmation sous Windows, mais aussi loin que je me souvienne qmake utilise le même mécanisme utilisé sous Linux sur tout le système d'exploitation pris en charge (http://doc.qt.io/qt-5/qmake-project-files.html). Ce qui signifie que vous devez écrire:

LIBS += -LC:\Imagination_Technologies\POWERVR_SDK\OGLES2_WINDOWS_X86EMULATION_2.08.28.0634\Builds\OGLES2\WindowsX86\Lib\ -lEGL -lGLESv2 

à condition que le chemin est correct bien sûr (notez que j'ai enlevé le « lib »).

+0

Cela ne fonctionne pas :-( – hurricane

+0

Cela devrait fonctionner selon la documentation: http://doc.qt.nokia.com/latest/qmake-variable-reference.html#libs. Essayez de spécifier le suffixe. ne fonctionne pas non plus, essayez simplement de spécifier simplement le chemin complet du fichier, y compris le nom du fichier, je ne vois pas d'espaces dans le chemin, donc $$ quote ne devrait pas être nécessaire. –