Hi Mathieu,

I am working directly on Windows XP rather than on Cygwin layer. I think this might be a cmake issue, because the error message box appears after I hit the "Configure" button of CMake, and the same error message pops up when configuring an ITK build with cmake.

The error message seems coming from CMakeTestCCompiler.cmake, in which a simple c program (see below) is generated on the fly and compiled.

#ifdef __cplusplus
# error "The CMAKE_C_COMPILER is set to a C++ compiler"
#endif
#include <stdio.h>
#if defined(__CLASSIC_C__)
int main(argc, argv)
  int argc;
  char* argv[];
#else
int main(int argc, char* argv[])
#endif
{ printf("%s\\n", argv[0]); return argc-1;}

I manually saved it into a file and got it compiled and linked. It worked fine. Can anyone explain why cmake thinks "it is not able to compile a simple test program"?

--
========================================================
Weiguang Guan, Research Engineer
RHPCS, McMaster University
========================================================

On Wed, 6 Dec 2006, Mathieu Malaterre wrote:

Weiguang Guan wrote:
Hi,

I wanted to make use of the free C/C++ command line compiler that comes with microsoft's .net framework SDK 2.0 (platform SDK is installed as well). When I was using CMake to configure VTK5.0 on a x86 machine, I chose "NMake Makefile". But the C compiler failed to compile a simple test program, complaining "fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'X64'. I have no idea why it considered my computer to be x64, and it didn't help at all even if I changed /machine:x64 to /machine:/x86 in CMAKE_EXE_LINKER_FLAGS. Anybody had similar experience or had suggestion to this situation? Thanks.

Weiguang,

        Here is the script I am using (bash+cygwin):

export PATH='/cygdrive/c/Program Files/CMake 2.4/bin/:/cygdrive/c/Program Files/Microsoft Visual C++ Toolkit 2003/bin:/cygdrive/c/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Bin:/cygdrive/c/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Bin/win64':$PATH export LIB="C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib" export INCLUDE="C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include"



Please check that you have something similar. Once this script is evaluated (source), run cmake in an empty directory (do not try to rerun in a old binary directory).

HTH
Mathieu

_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to