2012-08-15 46 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