1

我正在尝试将 FLTK 设置为使用带有 Windows SDK 的 CMake 在 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,所以这是我到目前为止所得到的:

> cmake CMakeLists.txt
(关于 FLTK_DIR 的错误)
> cmake CMakeLists.txt -DFLTK_DIR=C:\dev\fltk-1.3\CMake
> 制作

最后一个 nmake 命令给了我这个输出:

[100%] 构建 CXX 对象 CMakeFiles/test.dir/Test.cpp.obj
测试.cpp
链接 CXX 可执行文件 test.exe
链接:致命错误 LNK1104:无法打开文件 ';.obj'
LINK Pass 1 失败。有 2
NMAKE:致命错误 U1077:'C:\dev\cmake-2.8.7-win32-x86\bin\cmake.exe':返回代码 '0xffffffff'
停止。
NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"':返回代码 '0x2'
停止。
NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\nmake.exe"':返回代码 '0x2'
停止。

我尝试让 FLTK 自行安装到默认位置,这没有任何区别。

那么,任何人都可以帮我完成这项工作吗?

4

2 回答 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”。

于 2012-03-20T05:55:50.977 回答
1

FLTK 的站点经理在这里。

我没有足够的代表向 OP 添加评论。OP 消息中的http://easysw.com/网址不再有效。

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

于 2016-07-26T23:49:23.770 回答