Pav*_*sky 5 c++ dll dllexport visual-c++ import-libraries
尽管源代码中有 (dllexport) 指令,是否有一种可能未记录的方法来阻止链接器创建IMPLIB
DLL 或 EXE ?__declspec
不指定/IMPLIB
会导致.LIB
使用默认名称创建。
当 declspec 指令来自不受控制的第 3 方代码时,这一点很重要。例如,就是这种情况boost::serialization
。一种可能的解决方案是“取消声明”DLL 导出。DEF 文件也无法做到这一点(AFAIK),因为它只能添加到导出列表中,而不能从其中删除。
许多第三方代码并不__declspec(dllexport)
直接使用,而是将其隐藏在宏下以对其进行控制。通常他们希望在dllexport
和之间进行切换dllimport
,具体取决于头文件包含的位置(在 dll 实现内部或由 dll 用户)
如果您尝试包含在库中就是这种情况,那么通过宏操作来更改此行为以满足您的确切需求应该不会太困难。
例如,boost::serialization
检查config.hpp
并查看如何控制它。
归档时间: |
|
查看次数: |
3065 次 |
最近记录: |