Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 针对没有导入导出的DLL进行链接_C++_Visual Studio_Dll_Linker_Declspec - Fatal编程技术网

C++ 针对没有导入导出的DLL进行链接

C++ 针对没有导入导出的DLL进行链接,c++,visual-studio,dll,linker,declspec,C++,Visual Studio,Dll,Linker,Declspec,我试图将我的项目与一个DLL链接,我们称之为.DLL,我得到了一个未解析的外部符号\uuuu imp\uuuuu?func@@YA\u JXZ。我转储/导出了DLL和库,只看到了?func@@YAJXZ 因此,如果有人能解释1为什么基金装饰名称中的后缀不同2为什么DLL或解引用函数的库文件中没有_imp__func名称?通常,imp不应该出现在DLL中,而应该出现在静态导入库中,我将不胜感激。名称不同的原因可能是因为它不是一个函数,而是一个函数指针。并且它是在头文件中声明的函数。获取_imp_u

我试图将我的项目与一个DLL链接,我们称之为.DLL,我得到了一个未解析的外部符号\uuuu imp\uuuuu?func@@YA\u JXZ。我转储/导出了DLL和库,只看到了?func@@YAJXZ


因此,如果有人能解释1为什么基金装饰名称中的后缀不同2为什么DLL或解引用函数的库文件中没有_imp__func名称?

通常,imp不应该出现在DLL中,而应该出现在静态导入库中,我将不胜感激。名称不同的原因可能是因为它不是一个函数,而是一个函数指针。并且它是在头文件中声明的函数。获取_imp_uu导出需要声明具有_declspecdllexport属性的函数。看起来这个DLL是用一个.def文件构建的,这并不少见。您可以通过修复客户端代码端的声明而不声明它来避免此错误。总之,你正在使用的.h文件有点不稳定。我们看不到它。我将尝试它,但函数是用declspec export/import宏声明的。我刚刚发现dll可能是用gnat编译的,这意味着可能使用了mingw。它也可能有后果,不是吗?