5

最近、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以前はこの問題はありませんでした...何かアイデアはありますか?

4

3 に答える 3

6

これは、次のように追加することで修正できます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 が Mountain Lion および XCode 4.4 に含まれていないためです。

于 2012-08-02T10:14:57.740 に答える
6

g++-macx.conf フィラを変更しようとしましたが、まだエラーが発生していました。私はそれを使用して見つけました:

QMAKE_CXXFLAGS += -fpermissive

私のproファイルでうまくいきました。

于 2012-10-27T17:32:48.537 に答える
2

ツールチェーン(代わりにClang強制する)を使用する場合、この問題は発生しないようです...clang++llvm-g++

于 2012-08-01T17:41:41.627 に答える