我正在Visual Studio中创建一个COM DLL。链接器为DLL生成导入库。我不需要导入库。
有没有办法告诉链接器不要生成它?
发布于 2018-10-29 11:14:37
九年后,这可能对OP没有用处,但它可能会对其他通过寻找解决方案来的人有用。
LINK.EXE支持/NOIMPLIB选项,该选项可防止创建导入库,即使在所链接的DLL或EXE中存在__declspec(dllexport)例程时也是如此。
转到项目属性,打开Linker部分。最后一个选项是Command Line。选择它,在底部有一个地方可以给链接器添加额外的选项。在编辑字段中输入/NOIMPLIB,保存并应用,这将阻止创建.lib文件。
-编辑--
不幸的是,虽然它确实阻止了.lib文件的创建,但根据经验,我发现仍然会创建.exp文件。我会向微软提交一份错误报告,但根据他们开发工具团队过去的经验,试图修复这样的问题就像是在往山上滚巨石。
发布于 2013-03-20 17:57:42
这个答案似乎就是解决方案:https://stackoverflow.com/a/15214141/660440
“使用包含用PRIVATE关键字标记的导出函数的.def文件将告诉链接器跳过将符号放置在导入库中。”
https://stackoverflow.com/questions/1914504
复制相似问题