我在网上看过,有点明白,但想问一下以确定。
我将本机 c++ 包装器转换为 c++/CLI 项目,以便 VB.NET “看到”
我转换后的项目依赖于一个 fortran 静态库。
在调试配置中,我的 C++/CLI 项目使用多线程调试 DLL (/MDd),我的 fortran 静态库使用调试多线程 DLL (/libs:dll /threads /dbglibs)。我可以很好地编译。
在发布配置中,我有一些问题。我的 C++/CLI 项目使用多线程 DLL (/MD),我的 fortran 静态库使用多线程 DLL。这会导致一堆未解析的令牌(如unresolved token "extern "C" void __cdecl __CxxUnregisterExceptionObject(void *,int)"
)
如果我将 fortran 静态库更改为使用调试多线程 DLL,它工作正常。
我的问题:让 fortran 静态库在发布配置中使用调试多线程 DLL 是否不好?我认为调试开关应该只在调试配置中使用,但我不知道如何摆脱错误,否则......