0

嗨,我正在尝试通过 c++ 中的 USB 测试控制佳能相机(最终我想在 labview 上使用它)。我正在尝试在使用任何其他功能之前初始化相机,首先我有佳能 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 回答
0

您必须告诉链接器将您的程序与库链接。如何告诉链接器取决于工具链。你应该参考文档。

于 2013-07-17T01:16:31.747 回答