我正在使用Visual Studio 2015.创建C ++ Win32项目。
我定义了这样的函数:
extern "C" __declspec(dllexport) int __stdcall function1(par1,par2,..)
DLL编译成功。为什么我在DLL导出查看器和类似工具(dumpbin等)中看不到该功能。我还应该添加什么?
感谢。
答案 0 :(得分:0)
将代码放入空白的Win32 DLL项目中确实会在DLL中生成导出的函数。
#include <Windows.h>
extern "C" __declspec(dllexport) int __stdcall function1(int p)
{
return p;
}
所以我不确定你在“正常”之外做了什么
答案 1 :(得分:0)
我找到了一个解决方案,即我的错。在同一个cpp中有一个代码:
$cleanigQuery->union($oneBarQuery, true);
$query = (new \yii\db\Query())
->select('*')
->from(['u' => $cleanigQuery])
->orderBy('no_surat');
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
与dllmain.cpp相同。这就是为什么包括&#34; stdafx.h&#34;在上面的代码之前调用多个定义的错误。一旦我删除了上面的代码,我就把include&#34; stdafx.h&#34;在文件的顶部,编译并且我的功能变得可见&#34;。