4

我正在 Visual Studio 中创建一个 COM DLL。链接器为 DLL 生成一个导入库。我不需要导入库。

有没有办法告诉链接器不要生成它?

4

2 回答 2

5

九年后,这可能对 OP 没有用,但它可能对通过寻找解决方案来的其他人有用。

LINK.EXE 支持/NOIMPLIB阻止创建导入库的选项,即使存在或被链接的__declspec(dllexport)例程也是如此。DLLEXE

转到项目属性,打开该Linker部分。最后一个选项是Command Line. 选择它,底部有一个地方可以向链接器添加其他选项。在编辑字段中输入/NOIMPLIB,保存并应用,它会阻止创建.lib文件。

- 编辑 -

不幸的是,虽然它确实阻止了.lib文件的创建,但凭经验我发现该.exp文件仍然被创建。我会向 MS 提交错误报告,但根据他们开发人员工具团队过去的经验,尝试修复此类问题类似于尝试将巨石滚上山。

于 2018-10-29T03:14:37.350 回答
0

这个答案似乎是解决方案: https ://stackoverflow.com/a/15214141/660440

“使用包含用 PRIVATE 关键字标记的导出函数的 .def 文件将告诉链接器跳过将符号放入导入库中。”

于 2013-03-20T09:57:42.323 回答