2012-08-15 52 views
0

我需要将Qt项目转换为CMake,因为我想将它与其他已经在CMake中的项目集成。Qt pro文件的相应CMakeList

Qt的pro文件如下所示,

TEMPLATE = app 
INCLUDEPATH += ./lib 

# Input 

HEADERS += dollar/GestureTemplate.h \ 
    dollar/PathWriter.h \ 
    dollar/GeometricRecognizerTypes.h \ 
    dollar/GeometricRecognizer.h \ 
    dollar/SampleGestures.h \ 
    lib/GestureTemplate.h \ 
    lib/PathWriter.h \ 
    lib/GeometricRecognizerTypes.h \ 
    lib/GeometricRecognizer.h \ 
    lib/SampleGestures.h \ 
    lib/MultiStrokeGestureTemplate .h \ 
    lib/MultiStrokeGestureTemplate .h \ 
    lib/MultiStrokeGestureTemplate .h \ 
    lib/MultiStrokeGestureTemplate .h \ 
    lib/SampleMultiStrokeGestures.h \ 
    lib/MultipleStrokeGestureTemplate.h \ 
    lib/utils.h 
SOURCES += main.cpp \ 
    lib/GeometricRecognizer.cpp 

LIBS += -L/usr/lib \ 
    -lml \ 

只有一个lib目录,并在主路径还有main.cpp中,其他所有的文件都lib目录内。

我对cmake了解不多,我为上述qt项目提出了以下cmake列表。

cmake_minimum_required (VERSION 2.6) 
Project(dollar) 
INCLUDE_DIRECTORIES("lib") 
# Make Executable 
ADD_EXECUTABLE(main main.cpp) 
# Link the executable to the Hello library. 
TARGET_LINK_LIBRARIES(main -lml -L/usr/lib) 

cmake的成功,但是,让后给了我很多错误,请参阅错误日志 - >http://www.text-upload.com/read,4022366863337。什么我需要在CMake的清单全部添加?

+0

我觉得你TARGET_LINK_LIBRARIES是错误的。我不使用gcc,但使用Visual Studio,我只需指定该行上的库的名称,并从中为CMake生成适当的链接标志。 – drescherjm 2012-08-15 11:57:39

+0

在进行@Greg建议的更改后,它似乎工作正常(在Linux中)。 – rajat 2012-08-15 12:21:29

回答

1

看来你已经错过的lib/GeometricRecognizer.cpp文件

# Make Executable 
ADD_EXECUTABLE(main main.cpp lib/GeometricRecognizer.cpp) 
+0

非常感谢:)。 – rajat 2012-08-15 08:48:03