1

LLVM 4.1 でコンパイル エラーが発生します。

/Users/vibhor/src/mam/client_daemon/source/core/_osx/UtilSystem_OSX.cpp:261:32: Out-of-line definition of 'what' does not match any declaration in 'std::bad_typeid'

次のコードの場合:

const char* ::std::bad_typeid::what() const throw() { return NULL; }

これを抑える方法はありますか?GCC で問題なくコンパイルできます。

4

1 に答える 1

0

私の最初の答えは、別のstdlibでコンパイルしようとするもので、完全にベースから外れていました。

予想とは異なる bad_typeid を持つ 10.5 SDK に対してコンパイルしようとしているようです。回避策は、定義を回避することです。

#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
const char* ::std::bad_typeid::what() const throw() { return NULL; }
#endif
于 2012-10-19T19:26:44.120 に答える