如何创建与现有 Makefile 等效的 Qt Creator 项目 (.pro) 文件

How to create a Qt Creator project (.pro) file equivalent to existing Makefile

有一个项目是通过make命令构建的,其中提供了Makefile。以下是Makefile内容:

TARGETT=gnulinux
OROPATH=/usr/local
CXXFLAGS=-I${OROPATH}/include -DOROCOS_TARGET=${TARGETT} -Wall
LDFLAGS=-L${OROPATH}/lib -Wl,-rpath ${OROPATH}/lib -lorocos-taskbrowser-${TARGETT} -lorocos-rtt-${TARGETT}

all: main

main.o: main.cpp
    $(CXX) -c main.cpp $(CXXFLAGS)

AHRS.o: AHRS.cpp AHRS.h
    $(CXX) -c AHRS.cpp $(CXXFLAGS)

main: main.o AHRS.o 
    $(CXX) -g -o main main.o AHRS.o $(CXXFLAGS) $(LDFLAGS)

clean:
    rm -f main orocos.log .tb_history *.o 

不过我习惯用QtCreator。我知道 QtCreator 在构建过程中从项目 (.pro) 文件构建自己的 makefile。因此,我认为,必须将相关信息从 Makefile 内容(以上)复制到 Qt Creator 项目文件中,以便 QtCreator 生成兼容的 makefile。对吧?

鉴于上面的 Makefile,.pro 文件应该是什么样子的?

在此过程结束时,我将能够从 QtCreator 开始工作。

Given the Makefile above, how should the .pro file look like?

像这样:

TEMPLATE = app
TARGET = AHRS # the desired filename of the executable goes here
OROPATH = /usr/local
INCLUDEPATH += $${OROPATH}/include
O_TARGET = gnulinux
DEFINES += OROCOS_TARGET=$${O_TARGET}
QMAKE_RPATHDIR += -L$${OROPATH}/lib
LIBS += -L$${OROPATH}/lib 
LIBS += -lorocos-taskbrowser-$${O_TARGET} -lorocos-rtt-$${O_TARGET}

SOURCES += main.cpp AHRS.cpp
HEADERS += AHRS.h

请注意,Qt Creator 不构造任何东西。 qmake 确实如此。项目文件是 qmake 项目,而不是 Qt Creator 项目。您根本不需要 Qt Creator 来构建您的项目。您可以只使用 Qt 和 compiler/binutils:

从命令行执行此操作
# assume that the source is in AHRS-source subfolder
mkdir AHRS
cd AHRS
/path/to/Qt/bin/qmake ../AHRS-source
make -j
# now we can run it
./AHRS