我正在尝试将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

到目前为止没有错误。

然后,我创建了一个带有示例的hello world示例的test.cpp文件。
这是我的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

最后的nmake命令给我以下输出:

[100%]构建CXX对象CMakeFiles / test.dir / Test.cpp.obj
测试文件
链接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安装到默认位置,这没有任何区别。

那么,有人可以帮助我完成这项工作吗?

最佳答案

经过数小时的努力,我终于弄清楚了。

我不得不在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”。

关于c++ - 使用CMake在Windows上设置FLTK,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9779901/

10-10 03:36