0

プロジェクトに追加のインクルード ディレクトリを追加したことがないため、すべてが正しく行われているかどうかはわかりません。

プロパティ メニューにインクルード ディレクトリを追加しました。ディレクトリには、リンク先のプロジェクトのヘッダー ファイルと .cpp ファイルが含まれています。

しかし、コンパイルしようとすると、次のエラーが発生します。

Error   36  error LNK2019: unresolved external symbol "unsigned int
__cdecl lodepng_decode32_file(unsigned char * *,unsigned int *,unsigned int *,char const *)" (?lodepng_decode32_file@@YAIPAPAEPAI1PBD@Z) referenced in function
"struct rgbaImage __cdecl getRGBA(char const *)"
(?getRGBA@@YA?AUrgbaImage@@PBD@Z)   C:\Users\Alex\Documents\Visual
Studio 2010\Projects\ovltest\ovltest\main.obj   ovltest

それ以外に 4 つのリンカ エラーが発生しています。

私は何か間違ったことをしていますか?

ありがとう、

アレックス

4

3 に答える 3

1

おそらく、ビルドしようとしているプロジェクトに .cpp および .h ファイルを明示的に追加する必要があります (Visual Studio について話していると思いますよね?)。または、これらのファイルがライブラリに組み込まれている場合は、そのライブラリをプロジェクト プロパティ (リンカー -> 入力 -> 追加の依存関係) に追加する必要があります。

于 2012-07-18T23:38:31.930 に答える
1

は、インクルードするヘッダーのinclude directories場所をコンパイラに伝えます。ライブラリが配置されているディレクトリを個別に指定する必要があり、(通常) ライブラリ自体 (その場所にある) を 3 番目の場所で指定する必要があります。

ここに画像の説明を入力 インクルード ディレクトリ

ここに画像の説明を入力 ライブラリ ディレクトリ

ここに画像の説明を入力 実際のライブラリのファイル名は「追加の依存関係」に入ります。

于 2012-07-18T23:41:53.117 に答える
0

インクルード ディレクトリを追加しても、そこに含まれるコードが実際にコンパイルされるわけではありません。したがって、これらのディレクトリで使用しているものの宣言はそこにあるため、コードはコンパイルされていますが、オブジェクトコードが生成されていないためリンクに失敗しています。

追加のディレクトリに CPP ファイルを含むプロジェクトをソリューションに追加する (または CPP ファイルを既存のプロジェクトに追加する) 必要があります。

于 2012-07-18T23:37:50.570 に答える