【发布时间】:2013-01-02 08:52:04
【问题描述】:
我继承了 巨大的 C++ 多项目解决方案,其中包含许多动态库但没有任何
__declspec(dllexport)
我learned 不一定要插入任何 dllexport (工作量很大),但是除了相应的文件之外,还可以使用 .def 文件.dll 代替。
为了尝试我从here 构建了一个“DLL Hello World”项目,从标题中删除了 dllexport 并且......拼命失败。用已经cited页面的话来说,我的关键问题是如何
"[..] use the .def file when building the DLL."
我的 .def 文件是(我只使用 Add 方法尝试代码):
LIBRARY MathFuncsDll
EXPORTS
?Add@MyMathFuncs@MathFuncs@@SANNN@Z
在 Visual Studio 2010 中构建 DLL 以导出 Add 方法时如何使用它?
【问题讨论】:
-
你能把原型展示给你的
Add函数吗? -
static double Add(double a, double b);,作为public放置在命名空间MathFuncs的类MyMathFuncs中 -
您要导出课程吗?见stackoverflow.com/questions/186232/…
-
不,不过还是谢谢你的提示。
-
Win32 的
GetWindowText()是从 DLL 导出的“纯 C 接口”函数的示例。你使用extern "C",你不在接口处使用C++对象,你不在函数外抛出C++异常等等。(实现可以是C++,但是接口是纯C的。)但是看起来你想要导出一个 C++ 类(静态)方法...
标签: c++ visual-studio-2010 dll