c ++ - Opsætning af FLTK på vinduer med CMake

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at konfigurere FLTK til at bygge på Windows med CMake med Windows SDK.

Hidtil her er hvad jeg har opnået hidtil:


> 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:devfltk-1.3
> nmake
> nmake install


Ingen fejl hidtil.


Derefter oprettede jeg en test.cpp-fil med et hej verdenseksempel, jeg fik af dokumentationen.

Her er min 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)


Når jeg kører cmake CMakeLists.txt får jeg en fejl, der spørger mig om at indstille FLTK\_DIR, så her er hvad jeg har fået indtil videre:


> cmake CMakeLists.txt
(error about FLTK\_DIR)
> cmake CMakeLists.txt -DFLTK\_DIR=C:devfltk-1.3CMake
> nmake


Den sidste nmake kommando giver mig denne output:


[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:devcmake-2.8.7-win32-x86incmake.exe' : return code '0xffffffff'
Stop.
NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio 10.0VCBin
make.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio 10.0VCBin
make.exe"' : return code '0x2'
Stop.


Jeg forsøgte at lade FLTK installere sig til standardplaceringen, hvilket ikke gjorde nogen forskel.


Så kan nogen hjælpe mig med at få det til at fungere?

Bedste reference


Efter flere timers arbejde på dette fandt jeg endelig ud af det.


Jeg måtte kommentere disse 3 linjer i 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 "")


De fik det til at tilføje et '; ' -karakter i kommandolinjen til link.exe,
at få det til at forsøge at linke med ; .obj .


Jeg var også nødt til at genopbygge FLTK, og ændre alle forekomster af '/MD' til '/MT' i CMakeCache.txt.

Andre referencer 1


Site manager for FLTK her.


Jeg har ikke nok rep til at tilføje en kommentar til OP.
Http://easysw.com/url i OP-meddelelsen er ikke længere gyldig. [8]


For opdateret download til FLTK-kildekode henvises til http://fltk.org/
Bare klik på linket 'Download'. Her finder du opdaterede kildekoden downloads til tar filer og SVN adgang info. [9]