【发布时间】:2019-09-26 19:16:05
【问题描述】:
SWIG 允许您使用 -dllimport 命令行参数指定要在 C# 中导入的 DLL。
如果导入一个名称取决于它是 Debug 版本还是 Release 版本的 DLL 会怎样?遵循 Microsoft 约定将 d 后缀附加到调试版本的 DLL 会发生这种情况,例如ucrtbase.dll 用于发布版本,ucrtbased.dll 用于调试。
如果-dllimport 允许指定一个符号常量,那么该常量的值可能取决于是否定义了DEBUG,但似乎并非如此。
【问题讨论】:
-
我不确定在这里使用预处理器指令是否有帮助 - 当 SWIG 运行时,它不知道您是否正在使用 DEBUG 编译 DLL 本身。