我现在创建 dll 已经很长时间了,但是我对我的新项目中出现的一个问题有点好奇,第一个带有VS C++ 2015
.
它没什么特别的,一个简单的 C++ 项目,创建一个 windows 32/64 位 dll。我正在像这样将我的函数导出为“C”(没有 DEF 文件):
extern "C" void __declspec(dllexport) foo();
但是我的应用程序加载 dll 失败了Can not find _foo()
。使用 Dependency Walker 检查 dll 显示我foo()
已导出,但没有强制性的_
.
我找不到对创建导出函数名称有影响的编译器/链接器选项。