<br><br><div><span class="gmail_quote">在07-2-5,<b class="gmail_sendername">Gavin Mu</b> &lt;<a href="mailto:gavin.mu@gmail.com">gavin.mu@gmail.com</a>&gt; 写道:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
呵呵,你只剩下兩個疑問了,我還不知道 cmake 怎麽玩呢,<a href="http://cmake.org">cmake.org</a> 上面似乎也沒有啥教程阿,有本書可惜還買不到<br><br>莫名其妙輸入法變成繁體了。。。<br><br><br></blockquote></div><br><span style="font-size: 12px ! important;"><span id="text57640"><span id="tpid57640">
<span id="spid57640">这是以前写的一点相关东西(对了,./configure --help的替代暂时也不知)。</span></span></span></span><br><br><span style="font-size: 12px ! important;"><span id="text57640"><span id="tpid57640"><span id="spid57640">
因为KDE4和KDE3不兼容,因此在编译和运行时请一定要创建一个新用户来做。<br>
<br>
KDE4的编译不能向以往一样在源码目录树下做,需要在一个独
立的新目录里进行。cmake作为全新的构建管理程序代替了automake工具集,操作差异很大。在进行编译前的预配置时,如果您需要使用不同于默认的
安装目录、编译器、优化参数和额外选项的话,这里有个样板命令可供参考:<br>
<br>
假设此命令在和kdelibs-3.80.2同级的一个klibsbuild目录下执行:<br><br><div class="smalltxt" style="margin-left: 2em; margin-right: 2em; font-weight: bold;"><div style="float: left;">CODE:</div><div style="text-align: right; float: right;"><a href="http://www.myswear.net/forum/viewthread.php?tid=7469&amp;highlight=KDE4###" class="smalltxt" onclick="copycode(findobj(&#39;code0&#39;));">
[Copy to clipboard]</a></div></div><div class="altbg2" style="border: 1px solid rgb(238, 213, 146); margin: 3px 2em 2em; padding: 5px 10px 10px; clear: both;" id="code0">cmake
-DCMAKE_INSTALL_PREFIX=/opt/kde4 -DCMAKE_C_COMPILER=/usr/bin/gcc4
-DCMAKE_CXX_COMPILER=/usr/bin/g++4
-DCMAKE_C_FLAGS:STRING=&quot;-march=pentium4 -mtune=pentium4&quot;
-DCMAKE_CXX_FLAGS:STRING=&quot;-march=pentium4 -mtune=pentium4&quot;
-DWITH_ACL:BOOL=FALSE ../kdelibs-3.80.2</div><br>如果您只希望禁止对一个第三方依赖库的检测(即屏蔽对某个
功能的支持),根据cmake的Find模块文件名就能猜测出应该在跟随WITH参数后的字符串。但有些选项您要根据cmake的命令输出来获悉,比如在
kdebase-3.80.2中有个对libxklavier的可选依赖,要使用-DUSE_XKLAVIER:BOOL参数来决定是否启用。<br>
<br>
cmake的预配置会创建一批相关构建目录并生成标准的GNU Makefile,所以在接下来的编译中用make进行即可。不推荐在编译开始后随便手动修改cmake生成的文件,否则会导致之前的组件被重新编译,不过应该有办法避免。<br>
<br>
在编译KDE3.80的过程中您很可能还会遇到很多其它问题,这里不继续提了。如果您有兴趣的话可以自己试验并交流。</span></span></span></span><br>