gpt4 book ai didi

c++ - 禁止导入库创建 - Visual C++ 链接器

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:01 26 4
gpt4 key购买 nike

是否有一种可能未记录的方法来阻止链接器为 DLL 或 EXE 创建 IMPLIB,尽管源代码中有 __declspec(dllexport) 指令?

不指定 /IMPLIB 会导致 .LIB 使用默认名称创建。

当 declspec 指令来自不受控制的第 3 方代码时,这一点很重要。例如,boost::serialization 就是这种情况。一种可能的解决方案是“取消声明”DLL 导出的方法。 DEF 文件也不能这样做(AFAIK),因为它只能添加到导出列表而不能从中删除。

最佳答案

许多第 3 方代码不直接使用 __declspec(dllexport),而是将其隐藏在宏下以对其进行控制。通常,他们希望根据包含头文件的位置(在 dll 实现内部或由 dll 用户)在 dllexportdllimport 之间切换

如果您尝试在库中包含这种情况,那么通过宏操作来改变这种行为以满足您的确切需求应该不会太困难。

例如,boost::serialization 检查 config.hpp 并查看如何控制它。

关于c++ - 禁止导入库创建 - Visual C++ 链接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9980026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com