我正在尝试使用Windows SDK在CMake上构建FLTK 到目前为止,这是我迄今为止所取得的成就:
> svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
> cmake CMakeLists.txt -DOPTION_BUILD_EXAMPLES=NO -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:\dev\fltk-1.3
> nmake
> nmake install
到目前为止没有错误。
然后我创建了一个test.cpp文件,其中包含一个hello world示例,我从文档中删除了 这是我的CMakeLists.txt:
cmake_minimum_required(VERSION 2.6)
project(Test)
find_package(FLTK REQUIRED NO_MODULE)
include(${FLTK_USE_FILE})
add_executable(test WIN32 test.cpp)
target_link_libraries(test fltk)
当我运行cmake CMakeLists.txt
时,我收到错误,要求我设置FLTK_DIR
,所以这是我到目前为止所得到的:
> cmake CMakeLists.txt (error about FLTK_DIR) > cmake CMakeLists.txt -DFLTK_DIR=C:\dev\fltk-1.3\CMake > nmake
最后一个nmake命令给出了这个输出:
[100%] Building CXX object CMakeFiles/test.dir/Test.cpp.obj Test.cpp Linking CXX executable test.exe LINK : fatal error LNK1104: cannot open file ';.obj' LINK Pass 1 failed. with 2 NMAKE : fatal error U1077: 'C:\dev\cmake-2.8.7-win32-x86\bin\cmake.exe' : return code '0xffffffff' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"' : return code '0x2' Stop.
我尝试让FLTK将自己安装到默认位置,这没有任何区别。
那么,任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
经过几个小时的努力,我终于明白了。
我必须在FLTKConfig.cmake
中注释掉这三行if(NOT " /STACK:10000000 /machine:X86 " STREQUAL "")
set(FLTK_EXE_LINKER_FLAGS " /STACK:10000000 /machine:X86 ")
endif(NOT " /STACK:10000000 /machine:X86 " STREQUAL "")
他们导致它在link.exe的命令行中添加'; '字符,因此导致它尝试与 ;. OBJ 的
我还必须重建FLTK,并在CMakeCache.txt中将“/ MD”的所有出现更改为“/ MT”。
答案 1 :(得分:1)
FLTK的站点管理员。
我没有足够的代表向OP添加评论。 OP消息中的http://easysw.com/网址不再有效。
有关FLTK源代码的最新下载,请参阅http://fltk.org/ 只需点击“下载”链接即可。在那里,您将找到tar文件和SVN访问信息的最新源代码下载。