LLVM GCC 4.2コンパイラを使用していましたが、理由から、代わりにAppleLLVMコンパイラを使用したいと思います。静的にリンクされたいくつかのブーストライブラリを使用します。
私のコード部分はここにあります:
#include <boost/program_options/detail/config_file.hpp>
std::set<std::string> options;
std::map<std::string, std::string> parameters;
options.insert("*");
for (config_file_iterator i(config, options), e ; i != e; ++i)
parameters[i->string_key] = i->value[0];
Xcode4.5.1のコンパイラをAppleLLVM4.1に変更すると、次のエラーが発生します。
A.cpp:16からインクルードされたファイル: boost_1_46_1 / boost / program_options / detail / config_file.hpp:163:17:エラー: テンプレートに表示されていない関数'to_internal'の呼び出し 定義も引数依存のルックアップでも見つかりません s = to_internal(in); ^ A.cpp:82:39:注:メンバー関数のインスタンス化 'boost :: program_options :: detail :: basic_config_file_iterator :: getline' ここでリクエスト for(config_file_iterator i(config、options)、e; i!= e; ++ i) ^ boost_1_46_1 / boost / program_options / detail / convert.hpp:70:48:注: 'to_internal'は、呼び出しサイトの前に宣言する必要があります。 名前空間'__gnu_cxx'
BOOST_PROGRAM_OPTIONS_DECL std :: string to_internal(const std :: string&);
誰かが解決策を知っていますか?