QtCreator编译系统OSX升级后破(QtCreator build system is bro

2019-09-20 15:16发布

我最近升级我的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;

gridNamestd::ostringstream对象和xdmfName_std::string声明为一个私有成员变量xdmfWriter类,并在类的构造函数初始化。 我以前是没有的......任何想法这个问题?

Answer 1:

这可以是固定的通过添加c_str()如下所示:

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

然而,这不是长久之计。

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

您需要更改-mmacosx-version-min=10.5$QTDIR/mkspecs/common/g++-macx.conf-mmacosx-version-min=10.7 。 这是因为对于10.5或10.6的SDK未在山狮子和的XCode 4.4包括在内。



Answer 2:

我试图改变的G ++ - macx.conf FILA,但我仍然得到错误。 我发现,使用:

QMAKE_CXXFLAGS += -fpermissive

在我的亲文件的伎俩。



Answer 3:

听起来像是如果我使用Clang工具链(这迫使clang++而不是llvm-g++ )我没有这个问题?



文章来源: QtCreator build system is broken after OSX upgrade