[CMake] Changes to NMake Makefiles generator in 2.6?

Bill Hoffman bill.hoffman at kitware.com
Tue Jun 17 14:19:34 EDT 2008


Ted Berg wrote:
> 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.
> 
Can you send the output of the VERBOSE=1

> 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.
What makes you think this is the problem?  Does the output get truncated 
in some way?
> 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.
> 
No, there is no way to go back to the old way.

The change was to be able to use incremental linking from nmake which is 
not possible in cmake 2.4.


Can you send me the build.make file from 
CMakeFiles/QtVivoxSDK.dir/build.make?

If you send me the output VERBOSE=1 and build.make I might be able to 
figure it out.  If not, you are going to have to provide an example that 
duplicates the problem.


-Bill



More information about the CMake mailing list