1
obj\Debug\src\SQLite3DB.o||In function _static_initialization_and_destruction_0:|
D:\workspace-cpp\boost_1_54_0_beta1\boost\system\error_code.hpp|222|undefined reference to boost::system::generic_category()|
D:\workspace-cpp\boost_1_54_0_beta1\boost\system\error_code.hpp|223|undefined reference to boost::system::generic_category()|
D:\workspace-cpp\boost_1_54_0_beta1\boost\system\error_code.hpp|224|undefined reference to boost::system::system_category()|
||=== Build finished: 3 errors, 0 warnings (0 minutes, 4 seconds) ===|

boost/filesystem.hpp上記は、プロジェクトに含めた後の完全なエラー メッセージです。-lboost_system追加することで解決するかもしれないという投稿を見ましたが、CodeBlocks のどこでそれを行うべきかわかりません!
私はすでにこの問題を解決するのに 1 日を費やしました。ご協力いただきありがとうございます!

4

1 に答える 1

2

プロジェクト名を右クリックします。[ビルド オプション...] をクリックします。「リンカー設定」に移動します。「追加」をクリックします。ライブラリを見つけて追加します。

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

さらに、いくつかのカスタム変数を追加して、デバッグ/リリースおよび 32/64 ビット ターゲット オプションの管理を容易にすることができます。お任せします。


編集

からの誤ったコードは次のerror_code.hppとおりです。

# ifndef BOOST_SYSTEM_NO_DEPRECATED
    inline const error_category &  get_system_category() { return system_category(); }
    inline const error_category &  get_generic_category() { return generic_category(); }
    inline const error_category &  get_posix_category() { return generic_category(); }
    static const error_category &  posix_category = generic_category();
    static const error_category &  errno_ecat     = generic_category();
    static const error_category &  native_ecat    = system_category();
# endif

ご覧のとおり、定義するBOOST_SYSTEM_NO_DEPRECATEDと無効になります。私はそれをテストしましたが、動作します。これはコンパイルされます:

#define BOOST_SYSTEM_NO_DEPRECATED
#include <boost/system/error_code.hpp>

int main(void)
{

}
于 2013-10-11T10:54:35.900 に答える