由makefile 如何生成QT 的pro 文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由makefile 如何生成QT 的pro 文件相关的知识,希望对你有一定的参考价值。

  qt项目中想添加编译参数,修改***.pro文件,添加:
QMAKE_CFLAGS = `pkg-config --cflags --libs dbus-glib-1`
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
即可添加makefile的编译参数。`pkg-config --cflags --libs dbus-glib-1`是本次的编译参数

  如果添加多个:
  QMAKE_CFLAGS += `pkg-config --cflags --libs dbus-glib-1`\
`pkg-config --cflags --libs avbc`
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
参考:
  QT中Makefile文件添加-fno-rtti编译参数
  用QT Creator生成的文件进行编译时出现错误,网上查找说是要修改生成的Makefile文件,在CFLAGS和CXXFLAGS中添加“-fno-rtti”编译参数。这样每个Makefile文件都要修改,很麻烦。那么能不能在生成Makefile时自动加上呢。可以,只需要修改qmake的配置即可!
  以下为解决方法(也可供同类问题参考):
  1、#sudo gedit Makefile 查看生成的Makefile。在其中找到Makefile: mycom.pro /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf 。
  这就是要修改的配置文件
  2、#sudo gedit /QT4/builddir/sdk/qtopiacore/target/mkspecs/qws/linux-arm-g++/qmake.conf
  找到要修改的项并修改QMAKE_CFLAGS = -fno-rtti -pipe,QMAKE_CXXFLAGS = $$QMAKE_CFLAGS(说明引用QMAKE_CFLAGS)
参考技术A qt的pro文件是qtcreator 生成的。。。追问

我现在是有一个只有makefile的工程,想在qt中阅读和编辑,所以要搞一个pro文件。咋弄、

参考技术B 试一试 qmake -project ,我这样生成成功的,但是没有关联sqr,你可以的话可以回复一下我

pro文件和pri文件

参考技术A QT中,qmake为编译工具,通过qmke可以生成一个makefile文件,这就和pro文件有关,下面介绍pro文件的写法:

TELEPLATE :模板

app:默认不写时为app,即应用程序的makefile。

lib :建立一个库的makefile。

TARGET:生成应用程序名

CONFIG:配置信息

CONGIF += qt  warn_on release

分别意思是,告诉qmake这个应用程序是使用QT连编的,这就是说qmake再连接和为编译添加所需要的包含路径的时候会考虑到用qt库。warm_on告诉qmake要把编译器设置为输出警告信息的。release告诉应用程序必须被连编成一个发布版本。开发过程中可设置为也可以为debug版本。

INCLUDEPATH:头文件包含路径

CODECFORSRC = gbk :源文件编码方式

#工程中的源文件和头文件

SOURCES += 

HEADERS +=

RESOURCES += qrc/painter.qrc //  工程中包含的资源文件

FORMS += forms/painter.ui  //  工程中包含的ui设计文件

LIBS += -l(库名)

#平台相关

win32

SOURCES += hello_win.cpp



unix

LIBS +=-lcur3



如果项目工程大文件多:

可以将SOURCES,HEADERS ,FORMS单独拿出来放到单独一个test.pri文件中,然后在pro文件中用 include(test.pr)进行管理。

pro文件中$和$$符号含义和用法:

包含pri文件:

自定义变量 :

BASEDIR = .. /.. /.. /.. /

include ( $$ BASEDIR pri / common.pri )

include ( $$ BASEDIR pri / baseapk.pri )

INCLUDEPATH += $$ BASEDIR include

INCLUDEPATH += $$ BASEDIR include / forecastbusiness

自定义变量:

myVersion = 1.2

TARGET = software $$ myVersion

FILE = main.cpp

SOURCES += $$ FILE

重新qmake 后正确生成目标程序为software1.2的工程。

以上是关于由makefile 如何生成QT 的pro 文件的主要内容,如果未能解决你的问题,请参考以下文章

Qt_Pro详解

Qt下如何编译库

pro文件和pri文件

QT软件开发之入门基础--1.9 pro工程标准写法

QT基础QT工程pro文件模板变量 使用

Qt .pro 转换为 nmake Makefiles 无法处理静态库,在 VS2008 解决方案中同样有效