首页 文章

使用CMake在Windows上设置FLTK

提问于
浏览
1

我正在尝试使用Windows SDK在CMake上构建FLTK以构建Windows .
到目前为止,到目前为止已经完成了:

> 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 ,所以这里's what I' ve到目前为止:

> 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将自己安装到默认位置,这没有任何区别 .

那么,任何人都可以帮我搞定这个吗?

2 回答

  • 1

    经过几个小时的努力,我终于明白了 .

    我不得不在FLTKConfig.cmake中注释掉这3行

    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/ url不再有效 .

    有关FLTK源代码的最新下载,请参阅http://fltk.org/只需单击"Download"链接即可 . 在那里,您将找到tar文件和SVN访问信息的最新源代码下载 .

相关问题