繁体   English   中英

OSX升级后QtCreator构建系统中断

[英]QtCreator build system is broken after OSX upgrade

我最近将我的OSX升级为山狮,因为我无法使用Qt Creator编译我的项目。 我收到如下错误:

/Users/user/codes/lib/io/xdmfWriter.cpp:63: error: explicit instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]' but no definition available

/Users/user/codes/lib/io/xdmfWriter.cpp:-1: In instantiation of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]':

/Users/user/codes/lib/io/xdmfWriter.cpp:63: instantiated from here

// xdmfWriter.cpp -- line 63:
gridName << xdmfName_ << "." << timeStep;

gridName是一个std::ostringstream对象, xdmfName_是一个std::string变量,声明为xdmfWriter类的私有成员,并在类构造函数中初始化。 我以前没有这个问题......有什么想法吗?

这可以通过添加c_str()来修复,如下所示:

gridName << xdmfName_.c_str() << "." << timeStep;

但是,这不是一个永久的解决方案。

更新:我在https://web.archive.org/web/20140809210004/http://qt-project.org/forums/viewthread/19106/P15找到了解决方案

您需要在$QTDIR/mkspecs/common/g++-macx.conf -mmacosx-version-min=10.7 -mmacosx-version-min=10.5 $QTDIR/mkspecs/common/g++-macx.conf-mmacosx-version-min=10.7 这是因为Mountain Lion和XCode 4.4中不包含10.5或10.6的SDK。

我试过更改g ++ - macx.conf fila但我仍然遇到错误。 我发现使用:

QMAKE_CXXFLAGS += -fpermissive

在我的专业档案上做了伎俩。

听起来好像我使用Clang工具链(它强制使用clang++而不是llvm-g++ )我没有这个问题......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM