[CMake] Changes to NMake Makefiles generator in 2.6?

Ted Berg tberg at vivox.com
Tue Jun 17 13:55:15 EDT 2008


Sources & build files for a DLL which has been a CMake 2.4 target are 
being migrated to a CMake 2.6 project.  This target in the 2.4 project 
has been well behaved for months, but fails to link under CMake 2.6 
generated NMake Makefiles.

The basic error is as follows:
Linking CXX shared library QtVivoxSDK.dll
The parameter is incorrect
QtVivoxSDK.dll.intermediate.manifest : general error c1010070: Failed to 
load and parse the manifest. The system cannot find the file specified.

Looking at the VERBOSE=1 output it appears that the link.exe call which 
generates the intermediate manifest (LINK Pass 1:) is failing with the 
error "The parameter is incorrectMT:", and the subsequent mt call to 
update the embedded manifest fails because it can't find the 
intermediate manifest.

Given that
1. The build files which generate the above failure in CMake 2.6 NMake 
Makefiles *succeed* when built by CMake 2.4 NMake Makefiles
2. The build files which generate the above failure in CMake 2.6 NMake 
Makefiles also succeed when built in the Visual Studio IDE.
3. The link command line is *huge*.  I don't have any real numbers as 
far as character length is concerned, but it's very likely to exceed the 
windows command line length limit.
4. This is my initial exposure to CMake 2.6

What course of action is most likely to help me resolve this issue?  I 
can post logs, or build files.  I'm not allergic to docs, just not sure 
where to start looking for 2.6 troubleshooting info.

Is there a variable I can set which would re-enable passing arguments to 
  the win32 build tools via temp files?  I'd rather avoid it but this 
seems like a reasonable first step.

Ted


More information about the CMake mailing list