亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gnome-build.html

?? linux下gnome編程
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<HTML><HEAD><TITLE>The GNOME Build Environment</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.61"><LINKREL="HOME"TITLE="Writing GNOME Applications"HREF="index.html"><LINKREL="PREVIOUS"TITLE="GNOME"HREF="gnome-intro.html"><LINKREL="NEXT"TITLE="Creating Your Own Configuration"HREF="creating-configuration.html"></HEAD><BODYCLASS="CHAPTER"><DIVCLASS="NAVHEADER"><TABLEWIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Writing GNOME Applications</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="gnome-intro.html">Prev</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom"></TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="creating-configuration.html">Next</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="CHAPTER"><H1><ANAME="GNOME-BUILD">Chapter 3. The GNOME Build Environment</A></H1><DIVCLASS="TOC"><DL><DT><B>Table of Contents</B></DT><DT><AHREF="gnome-build.html#CONFIGURATION-SCRIPT">The Configuration Script</A></DT><DT><AHREF="creating-configuration.html">Creating Your Own Configuration</A></DT><DT><AHREF="generating-makefiles.html">Generating Makefiles</A></DT><DT><AHREF="dealing-with-libraries.html">Dealing with Libraries</A></DT><DT><AHREF="adding-gnome.html">Adding GNOME</A></DT></DL></DIV><P>      Part of writing a proper GNOME application is knowing how      everything fits into the big picture. GNOME is not 100 percent      GNOME code, but rather a rich strata, each layer depending on      the layer beneath to support it.    </P><P>      GNOME uses the GNU build system, a powerful suite of tools      created to ease the burden of compiling, porting, and installing      free software. This build system employs macros and scripts to      deal with the repetitive drudgery that software projects      normally require. No longer will you have to spend hours and      hours handcrafting build scripts and cutting and pasting      makefile rules into new projects. The GNU build system can      produce a complete, full-blooded compilation environment for      your project with as little as three files and a dozen      handwritten lines of text. All the reams of duplicated setup      code are automatically generated by the GNU build tools. As a      result, you can spend your valuable time writing code rather      than fiddling around with makefiles.    </P><P>      Software installation is another major source of headaches; a      poorly written installation setup can lead to a package that      won't run or install on the user's system. A crabby, frustrated      user may never touch your software package again, regardless of      the amazing wonders it can perform once it's up and run-      ning. New software projects have enough to worry about, without      alienating potential users. A clean, simple, reliable      installation gives your software a professional appearance and      will lead to return customers.    </P><P>      The three main components of the GNU build system are autoconf,      automake, and libtool. We'll explore the ins and outs of each      of these components in this chapter. These tools also come with      extensive documentation, available through the info command-for      example, info autoconf.    </P><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="CONFIGURATION-SCRIPT">The Configuration Script</A></H1><P>        If you've installed many open-source software packages, you've        probably run across the popular configure script. This        configuration script automatically scans your system, running        a series of checks, compiling and running little test        programs, and reporting all the results to the software        package you're trying to install. The new software can then        use this information to tune itself to the particular quirks        of your system.      </P><P>        The configuration script is very handy when it comes to        porting your application to different brands of UNIX. For        example, if you wanted to use a somewhat exotic function call        from the C library but knew it wasn't supported on all        platforms, you could check for it in the configuration        script. If the configuration script found the function call        on system A, your code could use it directly. However, if the        function call didn't exist on system B, you could provide a        fallback routine to use instead. All of this would happen at        compile time, on the target system. Obviously this type of        configuration script would not work with binary-only        software. It is practical only when you can use it to tweak        the compile settings and react to it at the source code level.      </P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN293">Running configure</A></H2><P>          The following series of commands is all the user needs to do          to set up, compile, and install most software          distributions created with the autoconf system.  The          commands are always the same, so the process is easily          predictable for the inexperienced installer. The only thing          different between packages is that there are extra command          line options you can use with configure.        </P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">$ ./configure$ make$ make install        </PRE></TD></TR></TABLE><P>          All GNU-based configure scripts come with a basic set of          command line parameters; you can get a list of them at any          time by typing in        </P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">$ ./configure --help        </PRE></TD></TR></TABLE><P>          You can use these parameters to control where configure          installs the software, which extra components to use (or          not use), how much debug information to generate, and          where to find external libraries and header files. The          package owner can also add new parameters to handle special          situations unique to a software package. All these          parameters have sensible defaults, so it's usually a safe          bet to run configure with no parameters. In normal usage,          you'll probably need to include only the --prefix parameter,          if you want to change the target install location. By          default, configure puts things in the /usr/local          directory. If you wanted to install the software in a          special directory-for example, if it was beta software, or          just something you didn't want polluting your normal install          directories-you might do something like this:        </P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">$ ./configure --prefix=/custom/path        </PRE></TD></TR></TABLE><P>          configure would then install the software into          /custom/path/bin, /custom/path/lib, and the like. If you          decided to keep the software, you could run configure again          without the --prefix option and rebuild, and it would          install things into /usr/local/bin, /usr/local/lib, and so          on.        </P><P>          That's a lot of black magic, right? You're probably          wondering how it all works, and how hard it would be to          create a configure script for your own project. At its          essence, the configure script is nothing more than a long,          complex shell script. If you had to write it by hand, you          would spend half your time debugging it and converting it          for new projects. Fortunately, the GNU build system provides          a simple-to-use set of tools for automatically generating          configure scripts (and much more). We'll explore these tools          in Sections 3.2 and 3.3.        </P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="AEN303">Inside the configure Script</A></H2><P>          For now, let's create a minimal configure script and see          what it looks like.  Create a temporary directory somewhere,          and then run the following commands:        </P><TABLEBORDER="0"BGCOLOR="#E0E0E0"WIDTH="100%"><TR><TD><PRECLASS="PROGRAMLISTING">$ echo "AC_INIT(main.c)\nAC_OUTPUT(Makefile)" &#62; configure.in$ cat configure.inAC_INIT(main.c)AC_OUTPUT(Makefile)$ touch main.c Makefile.in

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产jizzjizz一区二区| 一区二区三区四区在线播放 | 9191成人精品久久| 色综合久久精品| 本田岬高潮一区二区三区| 成人黄色大片在线观看| 国产99久久精品| 97成人超碰视| 欧美最新大片在线看 | 日韩欧美国产综合| 亚洲精品在线三区| 国产亚洲精品精华液| 欧美三级日本三级少妇99| 日韩精彩视频在线观看| 亚洲成人av电影在线| 日韩精品久久久久久| 麻豆精品一区二区综合av| 日韩影视精彩在线| 一区二区三区 在线观看视频| 成人小视频免费观看| 91麻豆123| 欧美日韩国产bt| 精品国产人成亚洲区| 欧美激情综合五月色丁香小说| 国产精品高潮久久久久无| 亚洲综合色视频| 久久精品国产一区二区三 | 免费人成在线不卡| 国产酒店精品激情| 日本乱码高清不卡字幕| 欧美一级理论性理论a| 国产欧美日产一区| 亚洲成人资源网| 国产精品一二一区| 91啦中文在线观看| 欧美精品一区男女天堂| 一区二区三区小说| 粉嫩aⅴ一区二区三区四区五区 | 欧美电影免费提供在线观看| 韩国成人福利片在线播放| 成人性生交大片| 欧美久久久影院| 国产精品久久影院| 国内偷窥港台综合视频在线播放| 91蝌蚪porny成人天涯| 精品国产麻豆免费人成网站| 亚洲成国产人片在线观看| 一区二区在线电影| 国产一区二区三区高清播放| 欧美日韩黄色一区二区| 国产精品日产欧美久久久久| 久久99久久精品欧美| 欧美日韩激情一区二区| 亚洲精品国产视频| 波多野结衣在线一区| 精品日韩成人av| 青青草国产精品亚洲专区无| 色婷婷香蕉在线一区二区| 中文一区在线播放| 国产九色精品成人porny| 亚洲欧美日韩在线| 国产成人免费在线视频| 日韩精品一区二区三区蜜臀| 欧美日韩综合在线免费观看| 国产精品久久网站| 成人精品免费看| 国产清纯在线一区二区www| 韩国欧美国产一区| 久久综合久久综合亚洲| 另类综合日韩欧美亚洲| 日韩欧美aaaaaa| 激情久久五月天| 欧美日韩一区视频| 亚洲va国产va欧美va观看| 在线观看免费成人| 亚洲国产成人va在线观看天堂| 91丨porny丨户外露出| 亚洲视频免费在线观看| 色88888久久久久久影院野外| 亚洲天堂免费在线观看视频| 色综合久久久久综合| 亚洲图片一区二区| 欧美一级艳片视频免费观看| 久久se精品一区二区| 久久久精品国产免大香伊| 成人黄色av电影| 亚洲一区二区三区视频在线| 欧美日韩日日摸| 久久99精品久久久久婷婷| 亚洲精品一区二区三区福利| 成人av在线一区二区| 在线一区二区三区做爰视频网站| 亚洲精品免费电影| 91精品国产福利| 国产美女av一区二区三区| 国产精品天天看| 欧美唯美清纯偷拍| 黄一区二区三区| 亚洲欧美国产三级| 亚洲三级在线播放| 午夜成人在线视频| 久久夜色精品国产噜噜av| 高清shemale亚洲人妖| 亚洲精品日产精品乱码不卡| 欧美久久久久久久久| 亚洲v中文字幕| 粉嫩久久99精品久久久久久夜 | 99精品视频在线播放观看| 亚洲一区二区不卡免费| 精品免费视频一区二区| 91在线国内视频| 久久精品免费看| 日韩久久一区二区| 日韩欧美成人激情| 欧美亚洲综合一区| 成人黄页毛片网站| 美女视频黄a大片欧美| 中文字幕在线不卡视频| 欧美一级高清片在线观看| 91亚洲大成网污www| 精品一区二区三区av| 亚洲电影在线播放| 国产老肥熟一区二区三区| 日韩中文字幕1| 亚洲久草在线视频| 亚洲国产欧美在线| 欧美中文字幕一区二区三区亚洲| 美女一区二区三区| 亚洲一区欧美一区| 国产精品久久久久久久第一福利| 欧美一个色资源| 欧美日韩国产一级| 色哟哟一区二区在线观看| 国产ts人妖一区二区| 日本在线播放一区二区三区| 亚洲毛片av在线| 日韩美女精品在线| 成人免费看的视频| 国产成人综合亚洲网站| 日本vs亚洲vs韩国一区三区 | 日韩精品一区二区三区在线播放| 色婷婷久久一区二区三区麻豆| 国产成人丝袜美腿| 看电影不卡的网站| 久久精品久久久精品美女| 日韩激情av在线| 五月天丁香久久| 亚洲午夜成aⅴ人片| 尤物av一区二区| 亚洲精品一二三四区| 亚洲国产成人在线| 国产精品电影一区二区| 成人免费一区二区三区在线观看 | 一区二区三区91| 一区二区三区欧美日| 亚洲免费在线视频| 亚洲一区二区三区四区在线观看 | 欧美xxxxxxxx| 久久99精品国产91久久来源| 亚欧色一区w666天堂| 亚洲国产美女搞黄色| 天天操天天色综合| 美女尤物国产一区| 韩国毛片一区二区三区| 成人免费电影视频| 色偷偷成人一区二区三区91| 欧洲精品一区二区| 制服.丝袜.亚洲.另类.中文| 欧美刺激午夜性久久久久久久| 精品国产乱码久久久久久夜甘婷婷| 精品久久久久久久久久久院品网| 久久久久国产免费免费| 中文字幕亚洲欧美在线不卡| 怡红院av一区二区三区| 美美哒免费高清在线观看视频一区二区 | 亚洲欧美电影一区二区| 亚洲综合色视频| 狠狠色丁香九九婷婷综合五月| 春色校园综合激情亚洲| 欧美性猛交xxxx乱大交退制版| 日韩一区二区三区免费观看| 久久一留热品黄| 一区二区三区中文字幕电影| 喷白浆一区二区| 波多野洁衣一区| 欧美一区二区三区四区在线观看| 久久久久久久网| 亚洲成av人影院在线观看网| 国产在线视频一区二区| 色老头久久综合| 精品国产髙清在线看国产毛片| 国产精品福利影院| 久久综合综合久久综合| 日本精品一区二区三区四区的功能| 日韩一二三区不卡| 亚洲男人天堂一区| 高清不卡在线观看| 日韩亚洲欧美成人一区| 亚洲精品免费电影| av在线不卡观看免费观看|