0

I've looked online and kind of get the idea, but wanted to ask just to be sure.

I converted a native c++ wrapper to a c++/CLI project, in order to be "seen" by VB.NET

My converted project has a dependency on a fortran static library.

In Debug configuration, my C++/CLI project uses Multi-threaded Debug DLL (/MDd) and my fortran static library uses Debug Multithread DLL (/libs:dll /threads /dbglibs). I can compile both fine.

In Release configuration, I have some issues. My C++/CLI project uses Multi-threaded DLL (/MD) and my fortran static library uses Multithread DLL. This causes a bunch of unresolved tokens (like unresolved token "extern "C" void __cdecl __CxxUnregisterExceptionObject(void *,int)")

If I change fortran static library to use Debug Multithread DLL, it works fine.

My question: Is having the fortran static library use Debug Multithread DLL in Release configuration bad? I figured the debug switches should only be used in Debug configuration, but I don't know how to get rid of the errors otherwise...

ryrich
  • 2,164
  • 16
  • 24

1 Answers1

0

I've been able to resolve the issue.

The static library was originally configured as Multithreaded in Release configuration so I changed it to that. My C++/CLI project had a /nodefaultlib:msvcrt.lib switch on it as well, so I removed that and it compiles

ryrich
  • 2,164
  • 16
  • 24