<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6001.18294" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Dear list</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>On Windows, MinGW (gcc 4.5.2), CMake
2.8.4.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I have a project building two executables. The
first one builds correctly. On the second one it appears to me as though CMake
adds flags to link to the standard MinGW libraries (mingw32, moldname, mingwex,
...) with an incorrect .lib suffix. (See the output below) As far as I can
tell this is totally unnecessary since these flags are automatically added by
the gfortran compiler. So in the end I have -lmingw32.lib (presumably added by
CMake, which fails) and -lmingw32 (automatically added by gfortran, which
correctly links libmingw32.a)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>My CMakelists file for the target CE_SEMFEM
is</FONT></DIV>
<DIV><FONT face=Arial
size=2>-------------------------------------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2>cmake_minimum_required (VERSION 2.8.4)<BR>project
(CE_SEMFEM Fortran)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>set (CE_SRCS<BR>
src/CE_SEMFEM.f95<BR>
src/CE_config_module.f95<BR>)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>add_executable (CE_SEMFEM
${CE_SRCS})<BR>target_link_libraries (CE_SEMFEM SEMFEM CE_FEMxml
xmlparse)</FONT></DIV>
<DIV><FONT face=Arial
size=2>-------------------------------------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The libraries SEMFEM, CE_FEMxml and xmlparse are
built elsewhere in the project.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>Ideas how I can fix this? Any help is much
appreciated.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Stiaan</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial
size=2>-------------------------------------------------------------------------------------------------------</FONT></DIV>Linking
Fortran executable CE_SEMFEM.exe<BR>Driving: C:\MinGW\bin\gfortran.exe -v
CMakeFiles/CE_SEMFEM.dir/src/CE_SEMFEM.f95.obj
CMakeFiles/CE_SEMFEM.dir/src/CE_con<BR>fig_module.f95.obj -o CE_SEMFEM.exe
-LC:\Loher_Berechner_repo\build\Utilities\xml_parser
-LC:\Loher_Berechner_repo\build<BR>\SEMFEM\trunk\SEMFEM\core
-Lc:\MinGW\lib\gcc\mingw32\4.5.2 -Lc:\MinGW\lib\gcc -Lc:\MinGW\mingw32\lib
-Lc:\MinGW\lib -L\M<BR>inGW\lib ..\..\core\SEMFEM.lib
..\..\..\..\..\Utilities\xml_parser\libCE_FEMxml.a
..\..\..\..\..\Utilities\xml_parser\li<BR>bxmlparse.a C:\MPICH2\lib\fmpich2g.lib
-lmingw32.lib -lmoldname.lib -lmingwex.lib -lmsvcrt.lib -luser32.lib
-lkernel32.l<BR>ib -ladvapi32.lib -lshell32.lib -lmingw32.lib -lmoldname.lib
-lmingwex.lib -lmsvcrt.lib -lgfortran -shared-libgcc<BR>Using built-in
specs.<BR>COLLECT_GCC=C:\MinGW\bin\gfortran.exe<BR>COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/lto-wrapper.exe<BR>Target:
mingw32<BR>Configured with: ../gcc-4.5.2/configure
--enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions
--wi<BR>th-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry
--enable-libstdcxx-debug --enable-version-specific-r<BR>untime-libs
--disable-werror --build=mingw32 --prefix=/mingw<BR>Thread model: win32<BR>gcc
version 4.5.2
(GCC)<BR>COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.<BR>5.2/../../../../mingw32/bin/<BR>LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.5.2/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../..<BR>/../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../;/mingw/lib/<BR>COLLECT_GCC_OPTIONS='-v'
'-o' 'CE_SEMFEM.exe' '-LC:\Loher_Berechner_repo\build\Utilities\xml_parser'
'-LC:\Loher_Berechn<BR>er_repo\build\SEMFEM\trunk\SEMFEM\core'
'-Lc:\MinGW\lib\gcc\mingw32\4.5.2' '-Lc:\MinGW\lib\gcc'
'-Lc:\MinGW\mingw32\lib'<BR> '-Lc:\MinGW\lib' '-L\MinGW\lib'
'-shared-libgcc' '-mtune=i386'
'-march=i386'<BR> c:/mingw/bin/../libexec/gcc/mingw32/4.5.2/collect2.exe
-Bdynamic -u ___register_frame_info -u ___deregister_frame_info<BR>-o
CE_SEMFEM.exe c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../crt2.o
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtbegin.o<BR>-LC:\Loher_Berechner_repo\build\Utilities\xml_parser
-LC:\Loher_Berechner_repo\build\SEMFEM\trunk\SEMFEM\core
-Lc:\MinGW<BR>\lib\gcc\mingw32\4.5.2 -Lc:\MinGW\lib\gcc -Lc:\MinGW\mingw32\lib
-Lc:\MinGW\lib -L\MinGW\lib -Lc:/mingw/bin/../lib/gcc/m<BR>ingw32/4.5.2
-Lc:/mingw/bin/../lib/gcc
-Lc:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib
-Lc:/mingw/bin/..<BR>/lib/gcc/mingw32/4.5.2/../../.. -L/mingw/lib
CMakeFiles/CE_SEMFEM.dir/src/CE_SEMFEM.f95.obj
CMakeFiles/CE_SEMFEM.dir/src<BR>/CE_config_module.f95.obj ..\..\core\SEMFEM.lib
..\..\..\..\..\Utilities\xml_parser\libCE_FEMxml.a
..\..\..\..\..\Utilit<BR>ies\xml_parser\libxmlparse.a C:\MPICH2\lib\fmpich2g.lib
-lmingw32.lib -lmoldname.lib -lmingwex.lib -lmsvcrt.lib -luser32<BR>.lib
-lkernel32.lib -ladvapi32.lib -lshell32.lib -lmingw32.lib -lmoldname.lib
-lmingwex.lib -lmsvcrt.lib -lgfortran -lmi<BR>ngw32 -lgcc_s -lgcc -lmoldname
-lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc_s
-lgcc -lmol<BR>dname -lmingwex -lmsvcrt
c:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtend.o<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmingw32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmoldname.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmingwex.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmsvcrt.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-luser32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lkernel32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-ladvapi32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lshell32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmingw32.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmoldname.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find
-lmingwex.lib<BR>c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe:
cannot find -lmsvcrt.lib<BR>collect2: ld returned 1 exit status<BR>
<DIV><FONT face=Arial
size=2>-------------------------------------------------------------------------------------------------------</FONT></DIV></FONT></DIV></BODY></HTML>