网络公司网站赏析,网站模板 电器,免费软件下载大全,汽车网站开发方案TEMPLATElib
TEMPLATE变量用于指定项目模板类型#xff0c;其值可以是以下几种#xff1a;
app#xff1a;建立一个应用程序的makefile#xff0c;这是默认值。lib#xff1a;建立一个库的makefile。vcapp#xff1a;建立一个应用程序的Visual Studio项目文件。vcliblib
TEMPLATE变量用于指定项目模板类型其值可以是以下几种
app建立一个应用程序的makefile这是默认值。lib建立一个库的makefile。vcapp建立一个应用程序的Visual Studio项目文件。vclib建立一个库的Visual Studio项目文件。subdirs创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile12。
当TEMPLATElib时编译后的输出将是一个静态库或动态库而不是一个可执行文件 DEFINES EARTHWIDGETPLUGIN_LIBRARY
意思是定义了一个宏EARTHWIDGETPLUGIN_LIBRARY这个宏可以在代码中用来控制条件编译或者其他一些需要根据是否定义了某个宏来改变代码行为的情况。当在Qt Creator中构建项目时qmake会处理这个宏定义并将其传递给编译器和链接器。 CONFIG c11
CONFIG c11用于指定使用C11标准。这样做可以确保你的代码在编译时使用C11的特性。
C11标准于2011年8月12日公布并于2011年9月出版。1
C11是C程序设计语言的一个重要更新它包含了大量现代编程语言的特性使得C11看起来像一门新的语言。C之父Bjarne Stroustrup曾表示“C11看起来像一门新的语言”。此外C11标准代替了原来的C98和C03。各大主流编译器如VS2012、g、clang等都在很大程度上支持C11标准。 INCLUDEPATH
INCLUDEPATH 是 Qt 的 qmake 构建系统中使用的一个变量它用于指定包含的头文件的搜索路径。
INCLUDEPATH \ 是向 INCLUDEPATH 添加新的路径的语法。
INCLUDEPATH 可以在 .pro 文件中设置用于指定额外的包含路径。
如果你有多个路径需要添加你可以这样做
INCLUDEPATH /home/user/includes \/home/user/includes/anotherfolder
你也可以使用相对路径
INCLUDEPATH $$PWD/includes
在这里$$PWD 是一个 qmake 的变量它代表了 .pro 文件所在的目录。
如果你需要添加系统的路径你可以使用 :
INCLUDEPATH :/home/user/includes
注意在路径前面的 : 是告诉 qmake 这是一个系统路径
最后如果你需要添加第三方库的头文件路径你可以这样做
INCLUDEPATH $$(SOME_ENVIRONMENT_VARIABLE)/include
在这里SOME_ENVIRONMENT_VARIABLE 是一个环境变量它指向了第三方库的安装目录。
总的来说INCLUDEPATH 是一个很重要的 qmake 变量它让你能够很容易地在你的项目中包含其他目录下的头文件。
INCLUDEPATH . 包含当前目录也就是.pro文件所在的目录
INCLUDEPATH ./subdir 表示引用当前目录下的subdir子目录
Qt 会自动将项目文件所在目录添加到包含路径中所以通常不需要显式添加当前目录。 LIBS -L
在Qt的.pro文件中LIBS -L是用来添加库路径的。其中-L是指定库路径的参数后面跟着库所在的目录。这样会在/usr/lib目录下查找libmylib.so动态库或者libmylib.a静态库并添加到链接器中
LIBS -L/home/user/libs LIBS后面添加库路径
LIBS -L/home/user/libs/libmylib.so 只想添加特定的库文件可以在-L后面添加库文件的全路径 LIBS -L/usr/lib -lmylib 会在/usr/lib目录下查找libmylib.so动态库或者libmylib.a静态库并添加到链接器中 Translations\
在Qt的项目.pro文件中TRANSLATIONS 是一个用于指定翻译文件.ts文件的指令这些文件用于实现Qt应用程序的国际化和本地化。
TRANSLATIONS \path/to/your/translations/myapp_de.ts
使用 \ 是为了跨越多行如果你只有一个文件也可以直接写在一行上。qnx: target.path /tmp/$${TARGET}/bin else: unix:!android: target.path /o
QNX是一款实时操作系统RTOS广泛应用于嵌入式系统开发。它具有可靠性、稳定性和高性能的特点因此被广泛应用于汽车、医疗设备、工业控制等领域。在嵌入式开发中我们常常需要为QNX平台编译和构建代码。
qnx: target.path /tmp/$${TARGET}/bin
这部分代码表示如果目标平台是QNX则将目标路径设置为/tmp/$${TARGET}/bin。其中$${TARGET}是一个变量表示目标平台的名称。
举个例子如果我们的目标平台是QNX并且$${TARGET}的值为qnx6那么最终的目标路径将是/tmp/qnx6/bin。在这个路径下生成的可执行文件或库文件将被存放。
else: unix:!android: target.path /o
这部分代码表示如果目标平台不是QNX并且是Unix系统但不是Android系统则将目标路径设置为/o。
举个例子如果我们的目标平台是Linux或macOS并且不是Android系统那么最终的目标路径将是/o。在这个路径下生成的可执行文件或库文件将被存放。
设置目标路径还有另外一种办法:
CONFIG(debug, debug|release) { DESTDIR PWD/../output/debug } else { DESTDIR PWD/../output/release } INSTALLStarget
INSTALLS是Qt的qmake系统中的一个变量用于指定项目生成的目标文件、库文件、插件、qm文件翻译文件等应该被安装到哪些位置。
INSTALLS [目标类型] [文件位置]
其中目标类型可以是以下几种 target表示将文件安装到可执行文件所在的目录。 lib_target表示将文件安装到库文件所在的目录。 bin_target表示将文件安装到可执行文件所在的目录。 libexec_target表示将文件安装到共享库执行文件所在的目录。 plugins表示将插件安装到插件目录。 translations表示将翻译文件安装到翻译目录。 declarative_source表示将QML文件安装到QML源目录。
文件位置是相对路径相对于安装目录的路径。
例如如果你有一个Qt应用程序你想将可执行文件安装到/usr/bin那么你可以在.pro文件中添加以下代码
INSTALLS target /usr/bin 将可执行文件安装到/usr/bin
INSTALLS lib_target /usr/lib 将库文件安装到/usr/lib
INSTALLS plugins /usr/lib/qt5/plugins 将插件安装到/usr/lib/qt5/plugins
INSTALLS translations /usr/share/qt5/translations 将翻译文件安装到某目录 win32:CONFIG 在 .pro 文件中加入以下定义即可。它会自动在构建目录下生成一个tmp目录分为release目录和debug目录用于存放产生的中间文件 win32:CONFIG(release, debug|release):{DESTDIR $$PWD/releaseUI_DIR $$PWD/tmp/release/uiMOC_DIR $$PWD/tmp/release/mocOBJECTS_DIR $$PWD/tmp/release/objRCC_DIR $$PWD/tmp/release/rcc
}
else:win32:CONFIG(debug, debug|release):{DESTDIR $$PWD/debugUI_DIR $$PWD/tmp/debug/uiMOC_DIR $$PWD/tmp/debug/mocOBJECTS_DIR $$PWD/tmp/debug/objRCC_DIR $$PWD/tmp/debug/rcc
}
或 build_type
CONFIG(debug, debug|release) {build_type debug
} else {build_type release
}DESTDIR $$build_type/out
OBJECTS_DIR $$build_type/obj
MOC_DIR $$build_type/moc
RCC_DIR $$build_type/rcc
UI_DIR $$build_type/ui FR:徐海涛(hunkxu)