当前位置: 技术问答>linux和unix
g++编译QT问题
来源: 互联网 发布时间:2016-06-09
本文导语: 通过qmake生成的MakeFile文件中,g++ 后面带了如下一些参数,应该是关于QT的,在 gcc手册里没有这些参数,好像也没看到有可以自定义参数的,不知道这些参数这样来的,特向高手请教,欢迎非高手也进来交流。 -DUNICO...
通过qmake生成的MakeFile文件中,g++ 后面带了如下一些参数,应该是关于QT的,在 gcc手册里没有这些参数,好像也没看到有可以自定义参数的,不知道这些参数这样来的,特向高手请教,欢迎非高手也进来交流。
-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQDESIGNER_EXPORT_WIDGETS -DQT_THREAD_SUPPORT
-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQDESIGNER_EXPORT_WIDGETS -DQT_THREAD_SUPPORT
|
gcc(g++)能够向编译对象传入-D后面的定义。
--比如怎样自己定义一个g++没有的选项或变量作为参数在编译时传递?
--〉任意定义就行了!
比如你在C程序里面有一个#if defined (SOME_MACRO),
你可以在编译的时候通过指定-DSOME_MACRO向该程序传入该定义。
|
-D 就是 gcc 能识别的选项
QT_LARGEFILE_SUPPORT 之类的一串其实是 -D 的值而已
QT_LARGEFILE_SUPPORT 之类的一串其实是 -D 的值而已
|
-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SCRIPT_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQDESIGNER_EXPORT_WIDGETS -DQT_THREAD_SUPPORT
这些是 在 pro文件里的 CONFIG选项,
举例说明:
-DQT_THREAD_SUPPORT
.pro文件里
CONFIG += qt thread warn_on release
则会在Makefile中产生如下FLAG:
CFLAGS = -pipe -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
这些是 在 pro文件里的 CONFIG选项,
举例说明:
-DQT_THREAD_SUPPORT
.pro文件里
CONFIG += qt thread warn_on release
则会在Makefile中产生如下FLAG:
CFLAGS = -pipe -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
CXXFLAGS= -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -O2 -D_REENTRANT -DNO_DEBUG -DQT_THREAD_SUPPORT
|
是程序 里面写 的宏开关?
|
这些不过是 qt 定义的一些变量而已, 当然不是 g++ 手册里的参数了。
|
楼主想问什么?编译QT 出问题了么?
|
学习