如何禁用生成导入库?

6
我正在使用Visual Studio创建COM DLL,链接器会为DLL生成一个导入库。我不需要这个导入库。
有没有办法告诉链接器不要生成它?

导入库?导出库?该怎么选择? - anon
抱歉:导入包含指定输出的库。 - Roger Lipscombe
2个回答

8
九年后,这可能对OP没有用处,但对于寻找解决方案的其他人可能会有用。
LINK.EXE支持/NOIMPLIB选项,即使在链接的DLLEXE中存在__declspec(dllexport)例程,也可以防止创建导入库。
转到项目属性,打开Linker部分。 最后一个选项是Command Line。 选择该选项,底部有一个地方可添加链接器的其他选项。 在编辑字段中输入/NOIMPLIB,保存并应用即可防止创建.lib文件。
-- 编辑 --
不幸的是,尽管它确实防止了创建.lib文件,但我经验证明,.exp文件仍会创建。 我会向微软提交bug报告,但基于以往与其开发者工具团队的经验,试图修复此类问题将类似于试图向山上推动巨石。
-- 编辑 - 四年后 --
正如评论中所述,VS 2019终于解决了这个问题,因此/NOIMPLIB现在可以抑制创建.lib.exp文件。

/NOEXP 可以在 Visual Studio 2019 上为我抑制 .exp,灵感来自于此错误票 - Krishty
1
@Krishty,看起来问题已经被解决了。 “万岁西西弗斯!” - dgnuff

-1

1
仍会生成导入库。 - Roger Lipscombe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接