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

西城

指尖代碼,手上年華

聯系 聚合 管理
  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 西城 閱讀(2263) 評論(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>
            国产精品伦理| 美女精品网站| 日韩视频免费大全中文字幕| 欧美插天视频在线播放| 99天天综合性| 亚洲天堂av电影| 国产亚洲欧洲997久久综合| 久久综合狠狠| 欧美精品一区二区三| 亚洲综合精品自拍| 久久国产精彩视频| 亚洲精品中文字幕在线观看| 一本一本a久久| 国产一区二区三区四区| 浪潮色综合久久天堂| 欧美日韩国产成人在线观看| 欧美在线亚洲在线| 麻豆成人小视频| 亚洲欧美国产精品va在线观看| 午夜欧美精品| 一区二区黄色| 久久久水蜜桃av免费网站| 99热免费精品在线观看| 午夜视频精品| 99精品国产在热久久| 午夜精品免费视频| 亚洲欧洲精品一区二区精品久久久| 99re这里只有精品6| 国内精品视频在线播放| 亚洲免费观看高清完整版在线观看熊 | 亚洲九九爱视频| 午夜精品福利在线| 国产精品99久久不卡二区| 久久久久九九九九| 午夜精品久久久| 欧美日本中文字幕| 欧美高清不卡| 国内成人自拍视频| 亚洲一区二区动漫| 亚洲一区bb| 欧美激情精品久久久久久大尺度| 久久九九99视频| 国产精品视频不卡| 日韩一级在线观看| 亚洲每日更新| 欧美电影免费观看网站| 狂野欧美性猛交xxxx巴西| 国产欧美精品在线播放| 中文网丁香综合网| 中国女人久久久| 欧美乱大交xxxxx| 蜜桃伊人久久| 亚洲成人在线视频播放| 欧美一区国产一区| 久久久精品动漫| 国产午夜精品理论片a级大结局| 一区二区电影免费在线观看| 一本到12不卡视频在线dvd| 欧美mv日韩mv国产网站app| 欧美aaaaaaaa牛牛影院| 国产一区二区三区成人欧美日韩在线观看 | 久久gogo国模裸体人体| 国产精品久久久久免费a∨| 99这里只有精品| 久久精品亚洲热| 玖玖综合伊人| 亚洲黄网站在线观看| 蜜桃av噜噜一区二区三区| 欧美福利一区| 日韩视频在线永久播放| 中文日韩欧美| 亚洲国产精品v| 国产在线精品自拍| 欧美性天天影院| 欧美性猛片xxxx免费看久爱| 久久国产精品久久久久久久久久 | 亚洲女与黑人做爰| 亚洲看片网站| 欧美精品久久久久久久| 一本色道久久综合亚洲精品不 | 国产毛片一区| 欧美在线亚洲| 欧美激情网友自拍| 亚洲美女黄网| 欧美午夜不卡在线观看免费| 先锋影音网一区二区| 美国成人直播| aⅴ色国产欧美| 欧美日韩中文字幕综合视频 | 亚洲一区成人| 国产日韩欧美在线播放不卡| 久久精精品视频| 亚洲福利视频网| 亚洲精品国产系列| 欧美视频在线播放| 校园春色综合网| 亚洲高清不卡在线观看| 亚洲欧美久久久久一区二区三区| 黄色成人在线| 欧美日韩不卡| 久久乐国产精品| 米奇777超碰欧美日韩亚洲| 一本色道久久加勒比88综合| 国产视频久久| 欧美三级午夜理伦三级中文幕 | 久久天堂成人| 亚洲免费在线观看视频| 亚洲电影在线播放| 久久久久久久波多野高潮日日 | 一区二区三区亚洲| 欧美激情视频网站| 久久av一区| 亚洲高清视频一区| 久久综合久久美利坚合众国| 亚洲欧美国产另类| 99re8这里有精品热视频免费| 国产亚洲毛片在线| 国产精品毛片a∨一区二区三区|国| 久久久另类综合| 加勒比av一区二区| 国产精品国产自产拍高清av| 欧美成人午夜剧场免费观看| 欧美在线国产| 欧美一区二区三区四区高清| 亚洲丝袜av一区| 日韩视频免费观看| 亚洲国产日韩综合一区| 噜噜噜躁狠狠躁狠狠精品视频| 午夜视频精品| 亚洲欧美日韩一区在线| 一区二区冒白浆视频| 亚洲久色影视| 日韩视频三区| 亚洲精品久久久久久久久| 黄色日韩网站| 韩国精品一区二区三区| 国产农村妇女精品一区二区| 国产精品久久久久秋霞鲁丝| 国产精品国产三级国产普通话三级| 欧美精品一区二区在线播放| 欧美成人中文| 美女网站久久| 久久综合精品国产一区二区三区| 欧美在线啊v| 中文欧美字幕免费| 亚洲欧美日韩爽爽影院| 欧美在线播放一区| 久久久天天操| 欧美国产先锋| 欧美午夜宅男影院| 国产农村妇女精品一二区| 国产精品红桃| 国产精品一区二区欧美| 国产目拍亚洲精品99久久精品| 国产精品色婷婷久久58| 欧美午夜免费电影| 国产欧美日本一区视频| 一区免费在线| 99re6热在线精品视频播放速度 | 一区二区三区成人| 亚洲一区视频在线观看视频| 一区二区免费看| 一区二区三区四区五区视频| 亚洲影音先锋| 午夜日韩视频| 免费看av成人| 国产精品日本一区二区| 国产一区二区三区四区老人| 亚洲国产精品999| 在线一区日本视频| 午夜亚洲伦理| 欧美高清在线视频| 艳女tv在线观看国产一区| 欧美一区二区三区视频在线| 欧美国产先锋| 国产一区二区福利| 在线亚洲观看| 麻豆av一区二区三区久久| 亚洲久久成人| 久久久av毛片精品| 欧美视频在线观看| 在线成人欧美| 欧美一区二区三区日韩| 91久久黄色| 久久精品中文| 国产精品视频福利| 一区二区三欧美| 久久久精品国产免费观看同学| 亚洲激情在线激情| 久久久精品动漫| 国产乱码精品一区二区三区av| 日韩五码在线| 欧美成人免费全部观看天天性色| 亚洲精品中文字幕在线| 久久精品国产v日韩v亚洲 | 日韩午夜高潮| 久久综合狠狠综合久久综合88| 国产美女精品视频| 亚洲综合好骚| 日韩一区二区福利|