Qt Creator:架构的未定义符号 x86_64
Qt Creator: Undefined symbols for architecture x86_64
我在 Qt Creator 中有一个程序可以在 Windows 机器上正常编译和运行。但是当我尝试在 Mac OS X (10.9) 中编译它时,我收到了这些消息:
Undefined symbols for architecture x86_64:
"std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
std::__1::enable_if<__is_forward_iterator<char*>::value, void>::type std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init<char*>(char*, char*) in libVolumeSelectorLib.a(NetCDFDataSource.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: *** [UI.app/Contents/MacOS/UI] Error 1
14:38:02: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project VVSIT (kit: Desktop Qt 5.4.0 clang 64bit)
When executing step "Make"
我已经尝试再次清理和编译,以防某些基于 Windows 构建的文件进入 Mac,但事实并非如此,问题继续发生。
我检查了这些帖子,但他们的解决方案不起作用:
- Undefined symbols for architecture x86_64 in QT-creator
知道如何解决这个错误吗?
经过一番研究,我发现了这个帖子:Qt5.1/Qt5.2 + XCode 5.0.2 + Mac OS 10.9 (Mavericks), Can’t link to the libraries
link 包含对我有用的解决方案,我不得不编辑文件:
/Applications/Qt/5.4/clang_64/mkspecs/macx-clang/qmake.conf
并更改以下行:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
至:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
之后,我清理了我项目中的每个子项目,并重新编译它们,现在一切正常。
如果您想知道 clang++
中的更改有何作用,它所做的是将参数 -mmacosx-version-min=10.7
更改为 -mmacosx-version-min=10.9
。
我在 Qt Creator 中有一个程序可以在 Windows 机器上正常编译和运行。但是当我尝试在 Mac OS X (10.9) 中编译它时,我收到了这些消息:
Undefined symbols for architecture x86_64:
"std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
std::__1::enable_if<__is_forward_iterator<char*>::value, void>::type std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init<char*>(char*, char*) in libVolumeSelectorLib.a(NetCDFDataSource.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: *** [UI.app/Contents/MacOS/UI] Error 1
14:38:02: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project VVSIT (kit: Desktop Qt 5.4.0 clang 64bit)
When executing step "Make"
我已经尝试再次清理和编译,以防某些基于 Windows 构建的文件进入 Mac,但事实并非如此,问题继续发生。
我检查了这些帖子,但他们的解决方案不起作用:
- Undefined symbols for architecture x86_64 in QT-creator
知道如何解决这个错误吗?
经过一番研究,我发现了这个帖子:Qt5.1/Qt5.2 + XCode 5.0.2 + Mac OS 10.9 (Mavericks), Can’t link to the libraries
link 包含对我有用的解决方案,我不得不编辑文件:
/Applications/Qt/5.4/clang_64/mkspecs/macx-clang/qmake.conf
并更改以下行:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
至:
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
之后,我清理了我项目中的每个子项目,并重新编译它们,现在一切正常。
如果您想知道 clang++
中的更改有何作用,它所做的是将参数 -mmacosx-version-min=10.7
更改为 -mmacosx-version-min=10.9
。