Là
Affiche originale- 22 juil. 2016
- 22 juil. 2016
Je travaille sur un projet qui consiste à compiler une application Windows sur Mac. L'application est écrite en C++ avec Qt. Il est composé des librairies et du projet principal :
http://hpics.li/d8bb2ec
Le projet utilise une bibliothèque externe, ODA, pour gérer les fichiers .dwg et .dgn.
Le problème est que lorsque je compile la première bibliothèque (MdCore), j'obtiens une erreur : symbole(s) introuvable pour l'architecture x86_64.
Au début, j'ai ajouté -stdlib=libstdc++ à l'argument qmake mais Qt m'a généré des fichiers de 0 octet, ce n'était donc pas la solution.
J'ai essayé différentes versions de la bibliothèque ODA : 32 bits, 64 bits pour OSX 10.7 et 10.11. (Mon Mac est sous OSX 10.11)
J'ai fait la commande 'file' sur mes librairies et voici la sortie :
:
.a : bibliothèque aléatoire d'archive ar actuelle
.dylib :
Binaire universel Mach-0 avec 2 architectures
(pour l'architecture x68_64) : bibliothèque partagée Mach-0 64 bits liée dynamiquement x86_64
(pour l'architecture i386) : Mach-0 bibliothèque partagée liée dynamiquement i386
J'ai essayé de compiler en 32 et 64bit mais cela ne change rien. je suis sur ce problème depuis deux semaines je ne sais pas ce que je peux faire
J'ai créé un sujet sur le forum Qt peut-être que vous pouvez trouver plus d'informations :
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
https://forum.qt.io/topic/69171/compile-generate-0-byte-files-on-os-x/11
Si quelqu'un a une piste ou une solution je serais intéressé
Merci ! C
cqexbesd
- 4 juin 2009
- Allemagne
- 22 juil. 2016
Là
Affiche originale- 22 juil. 2016
- 22 juil. 2016
17:34:10: Begin : '/Users/developpement/Qt/5.7/clang_64/bin/qmake' /Users/developpement/Desktop/Mediacad2/MdCore/MdCore.pro -r -spec macx-clang CONFIG+=debug CONFIG+= x86_64 CONFIG+=qml_debug
17:34:10: Le processus '/Users/developpement/Qt/5.7/clang_64/bin/qmake' s'est terminé normalement
17:34:10 : Début : '/usr/bin/make'
... C
cqexbesd
- 4 juin 2009
- Allemagne
- 24 juillet 2016
Là
Affiche originale- 22 juil. 2016
- 25 juil. 2016
Code : |_+_|
dans ma sortie de compilation, j'ai ces lignes plusieurs fois, mais seule la dernière ligne change (le nom du fichier change)
Edit : voici les mêmes lignes mais avec des espaces entre elles
Code : |_+_| Dernière modification par un modérateur : 25 juil. 2016 C
cqexbesd
- 4 juin 2009
- Allemagne
- 25 juil. 2016
Là
Affiche originale- 22 juil. 2016
- 26 juillet 2016
Voici la sortie complète (c'est très très long ! 100 000 lignes) : http://textup.fr/171939hC
Edit : j'ai compilé avec le prompt donc j'ai plus de lignes sur la sortie, et les dernières lignes sont intéressantes :
Symboles non définis pour l'architecture x86_64 :
Code : |_+_| Dernière modification par un modérateur : 26 juil. 2016 C
cqexbesd
- 4 juin 2009
- Allemagne
- 26 juillet 2016
Revenons à votre problème spécifique. Je ne vois pas les erreurs de liaison que vous avez publiées dans la 'sortie complète', mais cela semble être juste une erreur d'éditeur de liens régulière. Comme sur d'autres plates-formes, vous pouvez utiliser nm (ou Google) pour trouver où ces symboles sont définis et il semble être dans /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation pour moi (mais j'ai un très vieux mac donc ce n'est peut-être pas vrai pour vous).
Vous ne feriez pas de lien direct avec cette bibliothèque. Essayez d'ajouter le code : |_+_| à vos drapeaux de liaison.
Là
Affiche originale- 22 juil. 2016
- 27 juil. 2016
zibby
- 5 févr. 2019
- 5 févr. 2019
cqexbesd a déclaré : Je pense que la sortie 100K pour une construction à partir de tout sauf du système le plus compliqué est probablement un signe que les choses se sont mal passées quelque part - mais c'est un commentaire plus général sur l'état de l'industrie.AVEC
Revenons à votre problème spécifique. Je ne vois pas les erreurs de liaison que vous avez publiées dans la 'sortie complète', mais cela semble être juste une erreur d'éditeur de liens régulière. Comme sur d'autres plates-formes, vous pouvez utiliser nm (ou Google) pour trouver où ces symboles sont définis et il semble être dans /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation pour moi (mais j'ai un très vieux mac donc ce n'est peut-être pas vrai pour vous).
Vous ne feriez pas de lien direct avec cette bibliothèque. Essayez d'ajouter le code : |_+_| à vos drapeaux de liaison.
zibby
- 5 févr. 2019
- 5 févr. 2019
j'ai un fichier.
okieiam
- 17 déc. 2016
- 8 févr. 2019
zibbi a dit : salut les gars... j'ai rencontré un problème très similaire... mais j'utilise le terminal pour compiler... quelqu'un peut-il m'aider s'il vous plaît sur la façon dont je peux faire la même solution en cas de terminal ?env CPPFLAGS='-I/home/foo/sw/include' LDFLAGS='-L/home/foo/sw/lib/' ./configure
j'ai un fichier.
Articles Populaires