LabCVI プロジェクトを MSVS 2010 C++ Express に移植しようとしました。次のようなコード行があります。
if (InitCVIRTE == 0) return 0;
リンカー エラーが発生します: LNK2019 "_InitCVIRTEEx@12" - すべての関連するヘッダーには既に cpp ステートメントが含まれています。
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
私はあなたのために組み合わせたこれらのスニペットにエラーをさかのぼります:
#define CVIFUNC __stdcall
int CVIFUNC InitCVIRTEEx (void *hInstance, char *argv[], void *reserved);
#define InitCVIRTE InitCVIRTEEx
これを要約すると:
int __stdcall InitCVIRTEEx (void *hInstance, char *argv[], void *reserved);
この呼び出しは cvirt.lib で定義する必要があります - ライブラリパス (CVI2009\extlib\msvc) に追加されます。リンカー エラーが引き続き発生し、理由がわかりません。
ライブラリを別の方法で追加する必要がありますか? これが本当に正しいライブラリであることを確認するにはどうすればよいですか? エラーはまったく別のものを意味しますか?