如何禁用导入库的生成?

时间:2009-12-16 12:55:16

标签: visual-c++ linker import-libraries

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

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

2 个答案:

答案 0 :(得分:3)

九年后,这可能对OP毫无用处,但对寻求解决方案的其他人可能有用。

LINK.EXE支持/NOIMPLIB选项,即使在链接的__declspec(dllexport)DLL中存在EXE例程的情况下,它也阻止创建导入库。

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

-编辑-

不幸的是,尽管它确实阻止了.lib文件的创建,但凭经验我发现.exp文件仍在创建。我会向MS提交错误报告,但是根据他们在开发人员工具团队的以往经验,试图解决类似问题的方法类似于尝试将巨石推上山。

答案 1 :(得分:0)

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

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