青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

西城

指尖代碼,手上年華

聯系 聚合 管理
  20 Posts :: 0 Stories :: 62 Comments :: 0 Trackbacks
與一個大四的學生同做一個項目,源文件有幾十個,剛開始還在為寫makefile發愁,幸好找到了automake工具鏈,覺得真是省了不少事。
后來他跟我說他用的是qmake,比用automake更省了不少事。一比較,發現qmake確實是一個更好地選擇。

automake工具鏈比較復雜。一般要autoscan+修改configure.in+aclocal+寫Makefile.am+configure+make。很不容易上手,而且
容易出錯。automake提供了更為精細的控制,復雜但強大。但其實一般我們也用不了那么多的功能,而且中間生成的那些配置文件也不在
少數。這時候還要將源碼與makefile部分分離開來。一般的開源軟件就采用這種方法,文件層次清楚,易于管理。但是一般的很少的文件
的話,我覺得用qmake就足夠了,易于上手,也不易出錯。

qmake一般是qmake -project/qmake/make三步,中間需要適當地修改生成的*.pro文件,然后就差不多了。qmake -project主要就是用
來生成*.pro文件。主要做的就是讀入當前目錄的源文件。一些常用的配置變量如下:

VariableContents
CONFIGGeneral project configuration options.
DESTDIRThe directory in which the executable or binary file will be placed.
FORMSA list of UI files to be processed by uic.
HEADERSA list of filenames of header (.h) files used when building the project.
QTQt-specific configuration options.
RESOURCESA list of resource (.rc) files to be included in the final project. See the The Qt Resource System for more information about these files.
SOURCESA list of source code files to be used when building the project.
TEMPLATEThe template to use for the project. This determines whether the output of the build process will be an application, a library, or a plugin.
變量之間可以相互賦值比如。 TEMP_SOURCES = $$SOURCES

Template變量比較重要:用來決定所建工程的類型:
TemplateDescription of qmake output
app (default)Creates a Makefile to build an application.
libCreates a Makefile to build a library.
subdirsCreates a Makefile containing rules for the subdirectories specified using the SUBDIRSvariable. Each subdirectory must contain its own project file.
vcappCreates a Visual Studio Project file to build an application.
vclibCreates a Visual Studio Project file to build a library.
vcsubdirsCreates a Visual Studio Solution file to build projects in sub-directories.
一般用的都是app。

再說上面的config變量,內置的有:
OptionDescription
releaseThe project is to be built in release mode. This is ignored if debug is also specified.
debugThe project is to be built in debug mode.
debug_and_releaseThe project is built in both debug and release modes.
debug_and_release_targetThe project is built in both debug and release modes. TARGET is built intoboth the debug and release directories.
build_allIf debug_and_release is specified, the project is built in both debug and release modes by default.
autogen_precompile_sourceAutomatically generates a .cpp file that includes the precompiled header file specified in the .pro file.
orderedWhen using the subdirs template, this option specifies that the directories listed should be processed in the order in which they are given.
warn_onThe compiler should output as many warnings as possible. This is ignored ifwarn_off is specified.
warn_offThe compiler should output as few warnings as possible.
copy_dir_filesEnables the install rule to also copy directories, not just files.

debug_and_release建立兩個版本。config還可以加上qt,thread,X11等用來指定建立相應的工程類型。
如果是qt工程的話,QT變量就是一個需要關注的對象。當用到相應的庫時,就要加上相應的名字比如:
OptionFeatures
core (included by default)QtCore module
gui (included by default)QtGui module
networkQtNetwork module
openglQtOpenGL module
sqlQtSql module
svgQtSvg module
xmlQtXml module
xmlpatternsQtXmlPatterns module
qt3supportQt3Support module

常用的就是core,gui.其他的用到時加上就行。
另外一個比較重要問題就是QT與其他庫的融合,LIBS和INCLUDEPATH可以做到這一點。看名字就知道其作用。
和Gcc命令行參數的用法類似。


qmake也有一些內置的函數用來提供更為強大的功能。常用到的有include,可以用來包含其他的工程文件,類似于C的頭文件。還有條件控制類的,如:
win32 {      SOURCES += paintwidget_win.cpp  }
win32就是一個條件。甚至還有循環控制語句:
 EXTRAS = handlers tests docs  for(dir, EXTRAS) {      exists($$dir) {          SUBDIRS += $$dir      }  }
這樣算下來,其實qmake也挺復雜的,不過相對于automake來說,還是很容易的。


posted on 2012-04-01 12:30 西城 閱讀(2279) 評論(3)  編輯 收藏 引用 所屬分類: Linux

Feedback

# re: qmake與automake 2012-04-01 13:39 yugi.fanxes
可以嘗試下 waf 或者 cmake  回復  更多評論
  

# re: qmake與automake 2012-04-01 13:43 墨魂
@yugi.fanxes
多謝  回復  更多評論
  

# re: qmake與automake 2012-04-01 17:32 空明流轉
CMake, Scons,都可以。不過CMake有些bug,Scons bug更多。。。  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲三级国产| 国产日韩欧美自拍| 麻豆亚洲精品| 久久亚洲综合色| 欧美激情一区三区| 一本到12不卡视频在线dvd| 亚洲欧洲在线播放| 亚洲欧美在线x视频| 国产一区二区在线观看免费| 亚洲第一福利在线观看| 99国产精品视频免费观看一公开 | 久久久久看片| 欧美精品久久久久久久免费观看| 欧美视频中文一区二区三区在线观看 | 国产乱码精品一区二区三区忘忧草| 国产精品久久久久久久久果冻传媒 | 欧美精品一区二区三区很污很色的| 欧美日韩在线不卡一区| 亚洲电影欧美电影有声小说| 亚洲第一精品夜夜躁人人躁| 午夜国产欧美理论在线播放| 精品av久久久久电影| 亚洲一区二区毛片| 欧美激情一区二区三级高清视频| 欧美激情导航| 亚洲精品乱码久久久久久久久| 久久精品动漫| 99热精品在线| 伊人色综合久久天天| 欧美一级视频| 一本色道久久加勒比精品| 欧美国产日本韩| 欧美一区二区三区在线观看视频| 亚洲久久一区| 欧美丰满高潮xxxx喷水动漫| 性8sex亚洲区入口| 欧美精品18| 久久婷婷麻豆| 国产精品一区二区久激情瑜伽| 欧美成人自拍| 久久久久免费| 欧美一区二区三区在线免费观看| 欧美电影免费观看大全| 亚洲精品免费网站| 欧美在线综合视频| 国产在线乱码一区二区三区| 久久天天躁夜夜躁狠狠躁2022| 欧美日韩亚洲一区二区三区在线观看| 久久免费视频网站| 久久影院亚洲| 亚洲欧洲一区二区在线观看| 最近中文字幕日韩精品 | 欧美激情一区二区三级高清视频| 久久久久久久国产| 久久久久久久久久久一区| 欧美一二三视频| 欧美涩涩网站| 亚洲精品在线观看免费| 亚洲美女黄色片| 亚洲色诱最新| 国产主播一区二区三区四区| 亚洲尤物在线视频观看| 欧美一区二区三区在线视频| 欧美激情在线| 亚洲精品国产精品乱码不99| 亚洲国产成人av| 亚洲高清在线播放| 亚洲国产视频一区| 一本一本久久| 亚洲欧美日韩成人| 久久人人97超碰人人澡爱香蕉| 亚洲毛片在线免费观看| 欧美成人tv| 亚洲精一区二区三区| 一区二区三区蜜桃网| 欧美伊人久久大香线蕉综合69| 欧美在线观看网址综合| 国产一区二区日韩精品| 久久激情视频免费观看| 亚洲一区二区三区四区五区黄| 欧美日韩精品福利| 免费在线国产精品| 欧美99久久| 久久激情五月丁香伊人| 国产在线视频欧美一区二区三区| 久久精品一区二区| 午夜精品免费在线| 久久久99爱| 亚洲欧洲精品一区二区三区| 亚洲视频电影图片偷拍一区| 久久久久看片| 亚洲国产一区二区精品专区| 黄色亚洲在线| 亚洲欧美精品在线观看| 亚洲视频狠狠| 国产伦精品免费视频| 久久在线播放| 99国产精品久久久久老师| 欧美一区三区三区高中清蜜桃| 在线观看日韩av先锋影音电影院| 欧美精品成人在线| 亚洲欧美色一区| 欧美成人午夜剧场免费观看| 亚洲一区二区三区在线观看视频| 国产精品自拍在线| 欧美国产亚洲精品久久久8v| 亚洲欧美在线高清| 亚洲国产一成人久久精品| 欧美中文字幕第一页| 国产精品丝袜91| 亚洲自拍偷拍一区| 欧美黄色精品| 欧美在线999| 99精品视频免费全部在线| 国产三区二区一区久久| 欧美日本高清视频| 久久一区二区三区超碰国产精品| 亚洲一本视频| 欧美一区二区三区免费看| 亚洲精品资源| 一区二区在线视频| 国产麻豆精品theporn| 欧美日本视频在线| 久久午夜视频| 久久aⅴ乱码一区二区三区| 亚洲色图自拍| 日韩午夜在线观看视频| 午夜欧美不卡精品aaaaa| 亚洲麻豆一区| 亚洲国产精品女人久久久| 国产在线日韩| 国产一区二区av| 国产欧美午夜| 久久视频在线免费观看| 亚洲欧美日韩中文在线制服| 国产精品国产三级国产专播品爱网| 久久亚洲综合网| 久久精品一本久久99精品| 性视频1819p久久| 毛片一区二区三区| 久久动漫亚洲| 久久精品免费看| 久久久99精品免费观看不卡| 亚洲欧美综合另类中字| 亚洲伊人色欲综合网| 韩国欧美国产1区| 国产真实乱偷精品视频免| 国产一区二区日韩精品| 国产一区二区三区四区五区美女| 国产日韩欧美在线一区| 国产日韩欧美中文在线播放| 国产精品丝袜xxxxxxx| 国产伦精品一区二区三区免费| 国产精品白丝jk黑袜喷水| 久久激情视频免费观看| 久久精品论坛| 另类天堂av| 欧美日韩大陆在线| 国产精品极品美女粉嫩高清在线| 国产精品久久中文| 欧美风情在线观看| 欧美日韩成人一区二区| 欧美日韩综合在线| 国产精品一区=区| 樱花yy私人影院亚洲| 亚洲国产欧美在线| aa成人免费视频| 国产一区二区无遮挡| 亚洲国产精品久久久久秋霞不卡| 最新高清无码专区| 亚洲欧美区自拍先锋| 久久婷婷成人综合色| 亚洲黄色在线观看| 亚洲一区二区三区四区视频| 久久久国际精品| 欧美日韩精品一区二区天天拍小说| 国产精品久久久久永久免费观看| 国产一区二区三区奇米久涩| 亚洲精品在线视频观看| 亚洲女ⅴideoshd黑人| 欧美+亚洲+精品+三区| 99天天综合性| 久久人91精品久久久久久不卡| 欧美日韩激情小视频| 国外成人在线视频| 在线视频亚洲一区| 美女脱光内衣内裤视频久久网站| 亚洲乱码视频| 久久综合久久88| 国产精品亚洲综合一区在线观看| 亚洲国产精品电影| 亚洲欧美日韩视频二区| 欧美激情小视频| 欧美一区二区大片| 欧美影院午夜播放| 欧美视频中文一区二区三区在线观看| 黄色成人91| 久久精品99国产精品| 日韩一区二区免费高清| 欧美aa在线视频|