2012-03-20 36 views
1

我試圖設置FLTK以使用Windows SDK與CMake一起構建窗口。
到目前爲止,這是我到目前爲止已經完成:使用CMake在windows上設置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自己安裝到默認位置,它沒有做任何differen CE。

那麼,誰能幫我搞定這個工作?

回答

1

經過幾個小時的工作,我終於搞清楚了。

我不得不註釋掉這3條線路在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

FLTK的網站管理員在這裏。

我沒有足夠的代表向OP添加評論。 OP消息中的http://easysw.com/網址不再有效。

有關FLTK源代碼的最新下載,請參閱http://fltk.org/ 只需單擊「下載」鏈接。在那裏您可以找到最新的tar文件和SVN訪問信息的源代碼下載。