gpt4 book ai didi

c++ - DLL 和名称修改

转载 作者:太空狗 更新时间:2023-10-29 23:09:14 26 4
gpt4 key购买 nike

我有一个第三方 LIB,它的符号导出为纯 C/cdecl,因此例如 dumpbin.exe/SYMBOLS 报告 __imp_nvmlInit nvmlInit 被导出。

但是在 Visual Studio 2010 中,当我尝试导入它们时,头文件将包含

extern "C" nvmlReturn_t nvmlInit(...);

但是当我尝试编译时,出现以下错误:

main.obj : error LNK2019: unresolved external symbol _nvmlInit referenced in function _main

如何阻止 Visual Studio 查找带有前导下划线的符号? __declspect(dllimport) 不起作用,因为它会装饰为 __imp__nvmlInit(一个下划线太多)。

谢谢。

最佳答案

这是一个链接器错误。您需要链接与 DLL 关联的 .LIB 文件,这将向链接器提供一个 promise ,即当加载 DLL 本身时,该函数将在运行时可用。

关于c++ - DLL 和名称修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com