[CMake] FortranCInterface not working with 3.9.0 with Intel 2015
John Cary
cary at txcorp.com
Mon Dec 11 16:34:38 EST 2017
Thanks for your help.
Yes, we do a replacement of MD with MT as we need fully static builds.
We do this early in configuration, using
The "Dynamic Replace" method described at
https://cmake.org/Wiki/CMake_FAQ
specifically
https://cmake.org/Wiki/CMake_FAQ#Dynamic_Replace
This is possible with 3.8.2. Is there a way
to get that behavior back?
Thx........
> Thanks for sending the files. I think I might have found something.
> The FortranCInterface.exe is not linking because of mismatched linker
> commands. Here are the errors:
>
> Did you change any of the default compiler/linker flags? It looks like
> it is mixing run time libraries somehow.
>
>
> [100%] Linking Fortran executable FortranCInterface.exe
>
> LINK: command "xilink /nologo
> @CMakeFiles\FortranCInterface.dir\objects1.rsp
> /out:FortranCInterface.exe /implib:FortranCInterface.lib
> /pdb:C:\winsame\cary\usimall\builds\ulixes\ser\CMakeFiles\FortranCInterface\FortranCInterface.pdb
> /version:0.0 /machine:x64 /INCREMENTAL:NO /subsystem:console symbols.lib
> myfort.lib user32.lib /MANIFEST
> /MANIFESTFILE:FortranCInterface.exe.manifest" failed (exit code 1169)
> with the following output:
> xilink: executing 'link'
>
> LIBCMT.lib(winapisupp.obj) : error LNK2005:
> __crtSetUnhandledExceptionFilter already defined in MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crtheap.obj) : error LNK2005: _calloc_crt already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crt0dat.obj) : error LNK2005: _amsg_exit already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crt0dat.obj) : error LNK2005: _cexit already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crt0dat.obj) : error LNK2005: _initterm_e already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(crt0dat.obj) : error LNK2005: exit already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(mlock.obj) : error LNK2005: _lock already defined in
> MSVCRT.lib(MSVCR120.dll)
>
> LIBCMT.lib(mlock.obj) : error LNK2005: _unlock already defined in
> MSVCRT.lib(MSVCR120.dll)
More information about the CMake
mailing list