c++ - 强制所有符号从链接的 lib 文件导出到 DLL

标签 c++ visual-studio-2010 visual-studio-2012 dll

在 Visual Studio 2012 中有一个 DLL 项目,它会引入一些 lib 文件。 lib 文件中的代码将适当的 __declspec(dllexport) 应用于函数和类。 问题是,visual studio 不会从 lib 文件中提取所有导出。它只会从 obj 的形式中提取所需的 lib 文件。

这意味着,目前我的 DLL 项目中有一个虚拟函数,它仅引用函数以确保 obj 被拉入。

现在,有没有办法让 visual studio 提供包括库中的所有 obj,这样我就不需要这个虚拟方法了?

最佳答案

如果我没理解错的话,你有几个静态库,你想将它们全部加入到一个 DLL 中。

当您编译库时,它被编译为静态库。

静态库符号仅在使用时包含在内。

我认为最好的解决方案是尝试使用 def 文件,但它不适合类。 看这里:Exporting from a DLL Using DEF Files

关于c++ - 强制所有符号从链接的 lib 文件导出到 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26372029/

相关文章:

c++ - 从 C++ 控制台应用程序开始使用 SQL Express

winforms - Visual Studio 2012 中的 Tab 键顺序分配对话框在哪里?

visual-studio-2012 - VS 11 Express beta 获取开发者许可证时出错

c# - 在 C# 中读写 C++ 动态数组 (InteropServices)

java - 如何使用 "DFLT-X"方法编写 Zip 文件

C++ 建模动态对象板

c++ - QTimer 和事件状态

c++ - unsigned char * 数据作为 c++ 或 c 中函数的返回类型

c++ - 错误的分配器实现

c++ - Visual Studio 和 Visual C++ 一样吗