0

libraw を mingw で使用している人はいますか? プログラムをコンパイルしようとすると、次のエラーが発生します。

obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRawC1Ej'|
obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRaw9open_fileEPKcx'|
obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRaw6unpackEv'|
obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRaw13dcraw_processEv'|
obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRaw20dcraw_make_mem_imageEPi'|
obj\Release\inc\img\cimg.o:cimg.cpp|| undefined reference to `_imp___ZN6LibRaw7recycleEv'|
obj\Release\inc\img\cimg.o:cimg.cpp:(.text$_ZN6LibRawD1Ev[LibRaw::~LibRaw()]+0xf)||undefined reference to `_imp___ZN6LibRaw7recycleEv'|
||=== Build finished: 7 errors, 0 warnings ===|

プロジェクトに libraw.a を追加しました。問題を理解できません。誰かアイデアはありますか?

4

1 に答える 1

1

これらのシンボル名から、libraw の DLL バージョンに対してコンパイルしようとしているように見えます (_imp___プレフィックスで示されています)。libraw ヘッダー ファイルを確認し、関数名の前に何かが含まれていないことを確認して__declspec(dllimport)ください__attribute__((dllimport))。これらはマクロ定義によって隠されている場合があるため、ヘッダー ファイルをチェックして、関数プロトタイプでその属性を使用しないようにする定義可能な別のマクロがあるかどうかを確認してください。

于 2012-10-16T14:29:24.540 に答える