0

こんにちは、C ++でusb経由でキヤノンカメラをテスト制御しようとしています(最終的にはlabviewで使用したいです)。他の機能を使用する前にカメラを初期化しようとしています。まず、canon SDK で提供されている lib および dll ファイルを持っていますが、未解決の外部エラーが発生するため、それらを正しく含めたとは思いません

1>EDSDK.obj : error LNK2019: unresolved external symbol __imp__EdsInitializeSDK@0 referenced in function _main   

私はC ++にかなり慣れていないので、自分が何をしているのかよくわかりません。この初期化を機能させる方法について何か提案はありますか? また、lib ファイルと dll ファイルを正しく含める方法についても教えてください。以下は私が書いたコードです。

#include "EDSDK.h"
#include "EDSDKErrors.h"
#include "EDSDKTypes.h"
#include <stdio.h>

void main(int argc, char **argv)
{
EdsError err = EDS_ERR_OK;
EdsCameraRef camera = NULL;
EdsCameraListRef cameraList = NULL;
EdsUInt32 count = 0;
bool isSDKLoaded = false;

// Initialize SDK
err = EdsInitializeSDK(); // If camera is initialised, err = EDS_ERR_OK
if(err == EDS_ERR_OK)
{
isSDKLoaded = true; // isSDKLoaded is true if initialised
printf("SDK initialised");
}

printf("SDK not-initialised\n");

}
4

2 に答える 2

0

これを理解するのにも長い時間がかかり、次の手順がうまくいきました。

VB では、ヘッダー ファイルを含むフォルダーと lib ファイルを含むフォルダーにリンクする必要があります。そうするために:

プロパティ ページの [C/C++] --> [全般] の下で、[追加の含まれるディレクトリ] にヘッダーを含むフォルダーへのパスを追加します (ドロップダウン リストで [編集] を選択します)。[リンカー] --> [入力] の下で、[追加の依存関係] にライブラリ フォルダーへのパスを追加します (ドロップダウン リストで [編集] を選択します)。

dll ファイルを C:/Windows フォルダーに配置します。

dll ファイルは、実行可能ファイルと同じファイル (通常は「Debug」フォルダー) に配置する必要があります。

参照 : DLL をプロジェクトにリンクするにはどうすればよいですか? エラー LNK2019: 未解決の外部シンボル

于 2014-01-29T10:49:55.897 に答える