2012-02-22 27 views
-1

コードのコンパイル中に未解決の外部シンボルエラーが発生しています。私はサードパーティのライブラリを使用しています。そのため、コードをコンパイルする際にサードパーティのライブラリの名前空間を使用します。未解決の外部シンボルエラー:解決できません

std_uss.obj : error LNK2019: unresolved external symbol " __declspec(dllimport) void __cdecl os_std::os_throw_length_error(void) " ([email protected][email protected]@YAXXZ) referenced in function " private: char * __thiscall os_std::basic_string<char,class os_std::char_traits_char,class os_std::allocator<char> >::allocate(unsigned int) " ([email protected][email protected][email protected][email protected]@V?[email protected]@[email protected]@[email protected]@[email protected])

私は、第三部品ライブラリのファイルのいずれかにos_throw_length_error機能を発見したが、へ::コードでアロケータと同様の任意の関数を見つけることができませんでした。コンパイラにサードパーティの名前空間を使用さ​​せたいので、標準のstd名前空間は使用しませんでした。

using namespace stdを標準で使用すると、コンパイルは成功しますが、文字列のような定義がサードパーティ製の文字列関数ではなくVisual Studioの文字列に参照されるようになります。

+0

_サードパーティライブラリですか? –

+0

サードパーティのライブラリは再帰ソフトウェア – novice

答えて

0

サードパーティDLL用のインポートライブラリ(.libファイル)をプロジェクトに追加する必要があります。 Visual Studioでは、それはプロジェクトプロパティのリンカ/入力/追加の依存関係の下にあります

+0

からの空間です。追加の依存関係ですべての.libファイルを追加しました。それでも私は同じ問題を抱えています。 – novice

+0

.libファイルでDUMPBIN/EXPORTSを実行して、リンカーが苦情を申し立てたシンボル(または同様のもの)がエクスポートされたシンボルのリストに含まれているかどうかを確認してください。 – AndrzejJ

関連する問題