Lá
Pôster original- 22 de julho de 2016
- 22 de julho de 2016
Estou trabalhando em um projeto que consiste em compilar um aplicativo Windows no Mac. O aplicativo é escrito em C ++ com Qt. É composto por bibliotecas e o projeto principal:
http://hpics.li/d8bb2ec
O projeto usa uma biblioteca externa, ODA, para gerenciar arquivos .dwg e .dgn.
O problema é que quando eu compilo a primeira biblioteca (MdCore), recebo um erro: símbolo (s) não encontrado (s) para a arquitetura x86_64.
No início eu adicionei -stdlib = libstdc ++ ao argumento qmake, mas o Qt gerou arquivos de 0 bytes, então não era a solução.
Tentei uma versão diferente da biblioteca ODA: 32 bits, 64 bits para OSX 10.7 e 10.11. (Meu Mac está em OSX 10.11)
Eu fiz o comando 'arquivo' em minhas bibliotecas e aqui está a saída:
:
.a: biblioteca aleatória de arquivo ar atual
.dylib:
Binário universal Mach-0 com 2 arquiteturas
(para arquitetura x68_64): Biblioteca compartilhada dinamicamente vinculada Mach-0 de 64 bits x86_64
(para arquitetura i386): Biblioteca compartilhada i386 vinculada dinamicamente Mach-0
Tentei compilar em 32 e 64 bits, mas não mudou nada. Estou neste problema há duas semanas não sei o que posso fazer
Eu criei um tópico no fórum Qt, talvez você possa encontrar mais informações:
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
Se alguém tiver uma pista ou uma solução estarei interessado
Obrigado ! C
cqexbesd
- 4 de junho de 2009
- Alemanha
- 22 de julho de 2016
Lá
Pôster original- 22 de julho de 2016
- 22 de julho de 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 + = depurar CONFIG + = x86_64 CONFIG + = qml_debug
17:34:10: O processo '/Users/developpement/Qt/5.7/clang_64/bin/qmake' terminou normalmente
17:34:10: Comece: '/ usr / bin / make'
... C
cqexbesd
- 4 de junho de 2009
- Alemanha
- 24 de julho de 2016
Lá
Pôster original- 22 de julho de 2016
- 25 de julho de 2016
Código:
Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp
na saída de minha compilação, tenho essas linhas várias vezes, mas apenas a última linha muda (o nome do arquivo muda)
Editar: aqui estão as mesmas linhas, mas com espaços entre elas
Código:
Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -g -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -Wall -W -fPIC -DMDCORE_LIBRARY -D_TOOLKIT_IN_DLL_ -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../MdCore -I. -I../../include -I../../include/teigha -I../../include/Extensions/ExServices -I../../include/Extensions/win -I../../include/Extensions/win/Crypt -I../../../../Qt/5.7/clang_64/lib/QtWidgets.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtGui.framework/Headers -I../../../../Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I../../../../Qt/5.7/clang_64/mkspecs/macx-clang -F/Users/developpement/Qt/5.7/clang_64/lib -o mduserio.o ../../MdCore/mduserio.cpp
Última edição por um moderador: 25 de julho de 2016 C cqexbesd
- 4 de junho de 2009
- Alemanha
- 25 de julho de 2016
Lá
Pôster original- 22 de julho de 2016
- 26 de julho de 2016
Aqui está o resultado completo (é muito, muito longo! 100.000 linhas): http://textup.fr/171939hC
Edit: Eu compilei com o prompt, então tenho mais linhas na saída e as últimas linhas são interessantes:
Símbolos indefinidos para arquitetura x86_64:
Código:
'_CFArrayGetCount', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFArrayGetValueAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFLocaleCopyPreferredLanguages', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetCharacterAtIndex', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o '_CFStringGetLength', referenced from: ExSystemServices::ExSystemServices() in ExSystemServices.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [../debug/libMdCore.1.0.0.dylib] Error 1
Última edição por um moderador: 26 de julho de 2016 C cqexbesd
- 4 de junho de 2009
- Alemanha
- 26 de julho de 2016
De volta ao seu problema específico. Não vejo os erros de vinculação que você postou na 'saída completa', no entanto, isso parece ser apenas um erro de vinculador regular. Como em outras plataformas, você pode usar nm (ou Google) para encontrar onde esses símbolos estão definidos e parece estar em /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation para mim (mas tenho muito mac antigo, então pode não ser verdade para você).
Você não faria o link diretamente com essa biblioteca. Experimente adicionar Código:
-framework CoreFoundation
para seus sinalizadores de vinculador. Lá
Pôster original- 22 de julho de 2016
- 27 de julho de 2016
zibby
- 5 de fevereiro de 2019
- 5 de fevereiro de 2019
cqexbesd disse: Acho que a produção de 100K para uma construção de qualquer coisa, exceto o sistema mais complicado, é provavelmente um sinal de que as coisas deram errado em algum lugar - mas esse é um comentário mais geral sobre o estado da indústria.COM
De volta ao seu problema específico. Não vejo os erros de vinculação que você postou na 'saída completa', no entanto, isso parece ser apenas um erro de vinculador regular. Como em outras plataformas, você pode usar nm (ou Google) para encontrar onde esses símbolos estão definidos e parece estar em /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation para mim (mas tenho muito mac antigo, então pode não ser verdade para você).
Você não faria o link diretamente com essa biblioteca. Experimente adicionar Código:-framework CoreFoundation
para seus sinalizadores de vinculador.
zibby
- 5 de fevereiro de 2019
- 5 de fevereiro de 2019
Eu tenho um arquivo ./configure pronto e ele funciona sem problemas, mas recebo ffi ... relacionado a 'símbolos não encontrados ...' e algo a ver com o vinculador quando executo o make
okieiam
- 17 de dezembro de 2016
- 8 de fevereiro de 2019
zibbi disse: oi pessoal ... eu tive um problema muito semelhante ... mas estou usando o terminal para compilar ... alguém pode ajudar em como posso fazer a mesma solução no caso do terminal?env CPPFLAGS = '- I / home / foo / sw / include' LDFLAGS = '- L / home / foo / sw / lib /' ./configure
Eu tenho um arquivo ./configure pronto e ele funciona sem problemas, mas recebo ffi ... relacionado a 'símbolos não encontrados ...' e algo a ver com o vinculador quando executo o make
Publicações Populares