0

这是我在这里的第一个问题,所以我会尽量清楚并解释我所知道的一切。

我是 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 链接库不必那么难,希望你们能帮助我。

4

0 回答 0