Macos Qt Creator:架构x86_64的未定义符号

Macos Qt Creator:架构x86_64的未定义符号,macos,qt-creator,ld,clang++,Macos,Qt Creator,Ld,Clang++,我在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_f

我在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"
架构x86_64的未定义符号: “std::uuu 1::uu基本字符串u公共::uu抛出u长度u错误()常量”,引用自: libVolumeSelectorLib.a(NetCDFDataSource.o)中的std::_1::enable_if::键入std::u 1::basic_字符串:::u init(char*,char*) ... ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用) make:**[UI.app/Contents/MacOS/UI]错误1 14:38:02:进程“/usr/bin/make”已退出,代码为2。 生成/部署项目VVSIT时出错(工具包:桌面Qt 5.4.0 64位) 执行步骤“Make”时 我已经尝试过再次清理和编译,以防Windows上的某些文件进入Mac,但事实并非如此,问题仍在继续

我查看了这些帖子,但它们的解决方案不起作用:


知道如何解决这个错误吗?

经过研究,我发现了这个线索:

该链接包含对我有效的解决方案,我必须编辑该文件:

/Applications/Qt/5.4/clang_64/mkspecs/macx-clang/qmake.conf
并改变这句话:

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
致:

在那之后,我清理了我项目中的每个子项目,并再次编译它们,现在一切都很好

如果您想知道在
clang++
中会发生什么变化,它会将参数
-mmacosx version min=10.7
更改为
-mmacosx version min=10.9

QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9