1

Windows SDK を使用して 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

これまでのところエラーはありません。

次に、ドキュメントから取得した 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と、 set を要求するエラーが表示される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
Test.cpp
CXX 実行可能ファイル test.exe のリンク
リンク: 致命的なエラー LNK1104: ファイル ';.obj' を開けません
リンク パス 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 に答える