这是我在这里的第一个问题,所以我会尽量清楚并解释我所知道的一切。
我是 C++ 的新手,我需要创建自己的 dll 使用第三方 dll 的函数,所以我想将一个 .dll 链接到我的项目,但它似乎不起作用。拥有我的 .dll 后,我必须在使用 pinvoke 的 C# 项目中使用它。
我到处搜索并尝试了一些东西,但没有运气,我有.h、.lib和.dll,目前我有这个:
在项目属性中:
-在Conf Properties-->Linker-->General-->Additional Library Directory中设置.lib路径
-在 Conf Properties-->Linker-->Input-->Additional Dependencies 中添加 .lib 名称
-在Conf Properties-->C/C++-->General-->Additional包含目录中设置.dll路径
在项目 .cpp 文件中
#pragma comment(lib, "HCNetSDK.lib")
#pragma comment(lib, "HCCore.lib")
#include "HCNetSDK.h"
这是错误消息:
Error LNK2019 símbolo externo __imp_NET_DVR_Init sin resolver al que se hace referencia en la función
我做了一个小函数,抛出异常来显示问题:
.cpp 文件
#include <stdio.h>
#include "pch.h"
#include <iostream>
#include <string>
#include "Windows.h"
#include "Pruebahikvi.h"
#pragma comment(lib, "HCNetSDK.lib")
#pragma comment(lib, "HCCore.lib")
#include "HCNetSDK.h"
#include <comdef.h>
bool test() {
bool res = false;
try {
//function from HCNetSDK.h
NET_DVR_Init();
res = true;
}
catch (int ex) {
}
return res;
}
.h 文件
extern "C" __declspec(dllexport) bool test();
AFAIK 链接库不必那么难,希望你们能帮助我。