Ok, i've found the problem I wanted to use the same options for the compiler that those we use in the actual tool chain. Some of those options are not compatible, but msvc compiler doesn't always complain. The one which caused me headaches was /c, it suppresses the implicit call to the linker, which i presume is used to produce the executable.
So what i've done: - define CMAKE_LINKER to be sure to use link.exe for building dlls (else cmake detects ld.exe and it's troubleful) - get rid of any conflictual options for the compiler. thank you for your support, now I have to learn how to use Cmake properly and to persuade the managers to make the leap of faith regards Nicolas ----- Mail Original ----- De: urul...@free.fr À: "David Cole" <david.c...@kitware.com> Cc: cmake@cmake.org Envoyé: Vendredi 2 Septembre 2011 16h13:30 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [CMake] Problem with linker on win32 When i delete the exeUtg.cxx.obj file, it is recompiled without problem I'm not sure if i can put the file online due to company policy, but it's a plain ansi text file of 60 lines, nothing special about it. There is somewhere in the process where cmake get confused and uses cl for linking a binary file, and that's why it makes an error where is defined the linker? I assumed it was in CMAKE_LINKER variable. Is there a variable per language? or how is it resolved? regards Nicolas ----- Mail Original ----- De: "David Cole" <david.c...@kitware.com> À: urul...@free.fr Cc: cmake@cmake.org Envoyé: Vendredi 2 Septembre 2011 15h13:31 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne Objet: Re: [CMake] Problem with linker on win32 See also the questions here, also regarding "error C2018" : http://stackoverflow.com/questions/1169670/how-to-interpret-error-c2018-unknown-character-0x40 On Fri, Sep 2, 2011 at 9:12 AM, David Cole <david.c...@kitware.com> wrote: > If you delete "CMakeFiles/exeUtg.dir/exeUtg.cxx.obj" and try again, do > you get the same error? (Maybe the obj file got built corrupted > somehow the first time around...?) > > > On Fri, Sep 2, 2011 at 9:11 AM, David Cole <david.c...@kitware.com> wrote: >> Is there a funky hard-coded string constant in exeUtg.cxx ? >> >> Can you send the contents of that source file or is it private? >> >> >> On Fri, Sep 2, 2011 at 8:43 AM, <urul...@free.fr> wrote: >>> >>> Hello >>> >>> We are using PCCTS compiler to build a parser for config files. *.o files >>> are the results of the language definition. >>> I have not integrated this part of the build in CMake yet so i'm just >>> linking with .o files built with the previous production toolchain. Those >>> files are linked in the dll. >>> >>> Here is the problem i'm referring to when the executable is linked: >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> Linking CXX executable exeUtg.exe >>> cd E:/devlop/test_cmake/UTG/exeUtg && O:/DevStudio/VC98/Bin/CL.EXE >>> @CMakeFiles/exeUtg.dir/objects1.rsp /c /TP /DWIN32 /D_WINDOWS /W3 /Zm1000 >>> /GX /GR /MD -DWIN32 -D_WINNT -D_WIN32_WINNT=0x0501 -D_RWTOOLSDLL -D_AFXDLL >>> /nologo /D_DEBUG /MD /Zi /Ob0 /Od /GZ /FeexeUtg.exe >>> /FdE:/devlop/test_cmake/UTG/exeUtg/exeUtg.pdb -link /implib:exeUtg.lib >>> /version:0.0 /subsystem:console libUtg.lib >>> exeUtgLibelles.cxx.obj >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : error C2018: unknown character >>> '0x1' >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : error C2018: unknown character >>> '0x1f' >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : error C2018: unknown character >>> '0xab' >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : error C2146: syntax error : >>> missing ';' before identifier 'k' >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : error C2501: 'L' : missing >>> storage-class or type specifiers >>> CMakeFiles/exeUtg.dir/exeUtg.cxx.obj(1) : fatal error C1004: unexpected end >>> of file found >>> make[2]: *** [exeUtg/exeUtg.exe] Error 2 >>> make[1]: *** [exeUtg/CMakeFiles/exeUtg.dir/all] Error 2 >>> make: *** [all] Error 2 >>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>> >>> You can see make uses CL to link and build the executable, and it fails. >>> Could it be because of the file extension we are using for c++ file? >>> soureces are hxx and cxx files. >>> >>> Thank you for your support >>> >>> Nicolas >>> >>> >>> ----- Mail Original ----- >>> De: "David Cole" <david.c...@kitware.com> >>> À: urul...@free.fr >>> Cc: cmake@cmake.org >>> Envoyé: Vendredi 2 Septembre 2011 13h21:12 GMT +01:00 Amsterdam / Berlin / >>> Berne / Rome / Stockholm / Vienne >>> Objet: Re: [CMake] Problem with linker on win32 >>> >>> What is the error output? >>> >>> How are the *.o files that are in your source tree built? >>> >> > _______________________________________________ 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