From: MARTIN P. <hic...@gm...> - 2012-05-15 18:15:30
|
Kai, > Well, that isn't surprising, as VC doesn't use msvcrt.dll from OS. It > provides its own msvcr??.dll version by of course contains this > symbol. Understood. > You can build your application with gcc also for different > runtime-library, but you have to specify it manually. Also be aware > that more modern runtimes need manifest-files to let the > application start. i will try to get it to compile against the 8.0 version then. There is something i don't understand tho: When compiling my application, let's say it calls _wsopen_s. The compiler looks in the .h, and finds the definition. Then, the linker looks in the .a of msvcrt, and here is my problem, why isn't it warning about anything? Would it mean that the msvcrt.a from MinGW-w64 has the _wsopen_s function, while in fact it is not present in the msvcrt DLL from the system? Also, when i usually ship the application to a customer, the only thing i give along with the installer is the VC++ runtimes. Would that also mean that the VC++ runtimes contains the required version of the msvcr80.dll? In this case, wouldn't be the job of the MinGW runtime to export the right fonctions at compile time, and warn with linker errors when they cannot be found? Thanks for explaining, this is very interesting. Pierre. |