我需要将现有的C ++库编译为lib和dll,然后在不同的应用程序中使用静态和动态库。我使用VS2010。
我不能做的是编辑所有头文件以便添加__declspec(dllexport)指令以导出,因为库必须保持原样。
在Mac下,我能够毫无问题地编译和使用dylib,但我知道VS在这方面缺乏。
在VS中,首先编译静态lib然后编译dll以使函数“导出”(即在编译时从应用程序链接)是可行的吗?换句话说,我可以使用静态库,就像使用__declspec(dllexport)生成的导出库一样吗? 有更好的解决方法吗?
答案 0 :(得分:2)
我需要将现有的C ++库编译为lib和dll,以及 然后在不同的应用程序中使用静态和动态库。一世 使用VS2010。
为此创建配置。例如Release LIB,Release DLL等
我不能做的是编辑所有头文件以便添加 __declspec(dllexport)指令要导出,因为库必须是 保持原样。
只需添加模块定义文件(* .def)和导出函数列表。
换句话说,我可以像使用导出库一样使用静态库 用__declspec(dllexport)生成?
不,这些库是不同的。构建DLL时,您将获得二进制文件和lib文件。