Hi, We are migrating an 'old' Make project into the CMake world, and I am encountering a problem during the link phase of one of our executables: the linker cannot open a boost library.
I am using CMake 2.8.2 on WinXP x64, Boost regex library 1.33.1, with Intel C++/Fortran 9.1 compilers (icl/ifort), and Visual Studio 2005 (VS80) for linking. I am not using a FindBOOST module (yet); I'm just replicating the current Make environment for now, i.e. I have hardcoded the boost include directory and the library which should be statically linked into the executable. In the current Make system this works fine. However, this is what CMake says: <snip> C:\build\src\bsaf>"c:\Program Files (x86)\Microsoft Visual Studio 8\vc\bin\nmake .exe" bsaf_exe/fast VERBOSE=TRUE Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. cd C:\build "c:\Program Files (x86)\Microsoft Visual Studio 8\vc\bin\nmake.exe" -f s rc\bsaf\CMakeFiles\bsaf_exe.dir\build.make /nologo - src\bsaf\ CMakeFiles\bsaf_exe.dir\build Linking CXX executable \em64t-win_cmake\bin\bsaf.exe cd C:\build\src\bsaf "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E vs_link_exe C:\PROGR A~2\Intel\Compiler\C__~1\9.1\EM64T\Bin\icl.exe /nologo @C:\DOCUME~1\ADMINI~1\LO CALS~1\Temp\nm6860.tmp Visual Studio Non-Incremental Link LINK: C:\PROGRA~2\Intel\Compiler\C__~1\9.1\EM64T\Bin\icl.exe /nologo -nologo -GX -G7 - W1 -D_CONSOLE -D_MBCS @CMakeFiles\bsaf_exe.dir\objects1.rsp /Fe\em64t-win_cmake\ bin\bsaf.exe -link /implib:bsaf.lib -nologo -subsystem:console -incremental:no - stack:64000000 /INCREMENTAL:NO /subsystem:console -MACHINE:X64 \em64t-win_cmake\ lib\bsaf\bsaf.lib \em64t-win_cmake\lib\ulib\saf.lib \em64t-win_cmake\lib\ulib\do m.lib \em64t-win_cmake\lib\ulib\domf2c.lib \em64t-win_cmake\lib\ulib\mifparser.l ib \em64t-win_cmake\lib\ulib\ffilio.lib \em64t-win_cmake\lib\ulib\errmsg.lib \em 64t-win_cmake\lib\ulib\dynmemmgr.lib \em64t-win_cmake\lib\ulib\strings.lib \em64 t-win_cmake\lib\bsaf\bsaf.lib \em64t-win_cmake\lib\ulib\system.lib \em64t-win_cm ake\lib\ulib\filetb.lib \em64t-win_cmake\lib\ulib\timer.lib \em64t-win_cmake\lib \ulib\csys.lib C:\Users\madymo\em64t-win\ext\lib\xerces-c_1.lib C:\Users\madymo\ em64t-win\ext\boost\lib\libboost_regex-iw-mt-1_33_1.lib -lpthread -lm libifcorem t.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib s hell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib win spool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib /MANIFEST Fatal error cannot open "libboost_regex-iw-mt-s-1_33_1.lib" icl: error: problem during multi-file optimization compilation (code 1) LINK failed. with 1 NMAKE : fatal error U1077: '"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe"' : return code '0xffffffff' Stop. NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 8\vc \bin\nmake.exe"' : return code '0x2' Stop. </snip> The linker cannot open "libboost_regex-iw-mt-s-1_33_1.lib"! I know the libboost_regex-iw-mt-s-1_33_1.lib library is on my disk, at the correct location (I can find it with 'dir C:\Users\madymo\em64t-win\ext\boost\lib\libboost_regex-iw-mt-1_33_1.lib'). I have full permissions on the file. When I change "libboost_regex-iw-mt-s-1_33_1.lib" to "libboost_regex-vc80-mt-s-1_33_1.lib" in my CMakeLists.txt file, CMake shows the same error: it complains about not being able to open "libboost_regex-iw-mt-s-1_33_1.lib"(!!). Any ideas on what's going on? Thanks, and best regards, Jodi van Oenen _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake