锘??xml version="1.0" encoding="utf-8" standalone="yes"?> ubunto涓嬪畨瑁呮悳鐙楁嫾闊寵緭鍏ユ硶 1.棣栧厛涓嬭澆scim瀹夎鍖?/p> cd /home/haifeng wget http://scim-python.googlecode.com/files/scim-python-0.1.12.tar.gz 2.瑙e帇瀹夎鍖?騫惰繘鍏ュ叾鐩綍銆?/p> haifeng@haifeng-EX38-DS4:~/涓嬭澆$ tar zxf scim-python-0.1.12.tar.gz haifeng@haifeng-EX38-DS4:~/涓嬭澆$ cd scim-python-0.1.12/ 3.浣跨敤apt-get 瀹夎scim鎵渚濊禆鍒版墿灞曞簱 sudo apt-get install scim-dev 4.緙栬瘧瀹夎scim婧愮爜鍖?/p> ./configure --prefix=/usr/local 5.閲嶅惎緋葷粺 reboot 浣跨敤 Ctrl+絀烘牸閿?榪涜鍒囨崲杈撳叆娉?/p> 6.鎴愬姛 鏈枃鍑鴻嚜 “嫻烽鐨刲inux涔嬭礬” 鍗氬錛岃鍔″繀淇濈暀姝ゅ嚭澶?a >http://lhflinux.blog.51cto.com/1961662/515610 鍑虹幇榪欎釜闂鐨勫師鍥犲彲鑳芥槸鏈夊彟澶栦竴涓▼搴忔鍦ㄨ繍琛岋紝瀵艱嚧璧勬簮琚攣涓嶅彲鐢ㄣ傝屽鑷磋祫婧愯閿佺殑鍘熷洜錛屽彲鑳芥槸涓婃瀹夎鏃舵病姝e父瀹屾垚錛岃屽鑷村嚭鐜版鐘跺喌銆?/p> 瑙e喅鏂規硶錛氳緭鍏ヤ互涓嬪懡浠?/p> sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock 涔嬪悗鍐嶅畨瑁呮兂瑁呯殑鍖咃紝鍗沖彲瑙e喅 浠婂ぉ鐜﹗buntu鐨勬椂鍊欙紝鍦ㄥ紕鏇存柊婧愮殑鏃跺欙紝紿佺劧鍑虹幇浠ヤ笅閿欒錛?/p> [1]+ Stopped 寮濮嬩互涓烘槸鏉冮檺涓嶅錛屽氨鏄敤 sudo apt-get update,鍙戠幇榪樻槸鎶ラ敊錛岄棶棰樻病鏈夎В鍐熾備簬鏄笂緗戞悳绱簡涓涓嬶紝絳旀濡備笅錛?/p> 闂搴旇鏄?span style="font-weight: bold; text-decoration: underline; font-style: italic;">涔嬪墠閭d釜鏇存柊琚己鍒跺彇娑堢殑闂錛岃繘紼嬩粛鐒惰繕鍦?/span>銆傜敤榪欎釜鍛戒護鏌ョ湅涓涓嬶細 ps -e | grep apt 鏄劇ず緇撴灉濡備笅錛?/p> 6362 ? 00:00:00 apt 6934 ? 00:00:00 apt-get 7368 ? 00:00:00 synaptic use su to root: root# kill 6362 root# kill 6934 root# kill 7368 鍐嶆鍦ㄧ粓绔噷鏌ョ湅ps -e | grep apt 娌℃湁浠諱綍緇撴灉浜?/p> 緇х畫鎵цsudo apt-get update OK錛?/p> 榪樻湁灝辨槸鍙互鍒犻櫎錛岄噸鏂伴厤緗?/p>
sudo rm /var/lib/dpkg/lock WIN閲岃緗畇ynergy鑷姩鍚姩寰堢畝鍗曪紝浣唘buntu閲屽氨浼氭湁鐐瑰鏉傘傝涓ゅ彴鏈哄櫒寮鏈烘椂灝辮嚜鍔ㄨ繛鎺ヨ搗鏉ワ紝鐢ㄨ搗鏉ユ劅瑙夊氨鏄悓涓鍙版満鍣ㄤ竴鏍鳳紝闈炲父鏂逛究銆?/p>
涓嬮潰鏉ヤ粙緇嶄竴涓嬫庝箞璁﹕ynergy鑷姩寮鏈哄惎鍔ㄣ?娉ㄦ剰錛?榪欑瘒鏂囩珷鍙拡瀵?ubuntu !! 鍏朵粬鍙戣鐗堟湰鐨刲inux璁劇疆浼氭湁寰堝ぇ鐨勪笉鍚屻?絎旇呭湪ubuntu 10.4鍜?1.4涓婇兘瀹炶返榪囷紝娌℃湁闂錛岀浉淇buntu鐨勫叾浠栫増鏈篃鑳界敤涓娿?/p>
1. 鍒?/etc/gdm鐨勭洰褰曚笅錛岀湅鍒?Init, PostLogin鍜孭reSessions 涓変釜瀛愮洰褰曪紱 2. Init 榪欎釜瀛愮洰褰曚笅鏈変釜 Default 鏂囦歡錛?閲岄潰鐨勫唴瀹規槸綆$櫥褰曠敾闈㈡椂鐨勫惎鍔ㄩ」錛?/p>
PostLogin涓嬩篃鏈変釜 Default鏂囦歡錛岄噷闈㈢殑鍐呭鏄姝e湪鐧誨綍鏃剁殑鍚姩欏癸紝 PreSessions涓嬩篃鏈変釜Default鏂囦歡錛岄噷闈㈢殑鍐呭鏄姝e湪鐧誨綍鏃剁殑鍚姩欏癸紝 濡傛灉浣犲彂鐜版病鏈塂efault鏂囦歡錛屽彧鏈変竴涓狣efault.sample鏂囦歡鐨勮瘽錛屼篃鏄甯哥殑錛孌efault.sample鏄粰浣犱綔涓轟竴涓ā鐗堟潵鍙傝冿紝璁╀綘鐭ラ亾鎬庝箞鍐橠efault鏂囦歡銆傝繖縐嶆儏鍐典笅錛屼綘鍙澶嶅埗涓涓媎efaut.sample鏂囦歡騫墮噸鍛藉悕涓篋efault灝辮錛屾垨鑰呯洿鎺ュ皢Default.sample鏀逛負Default涔熻銆?/p>
3. 鐒跺悗錛屽垎鍒榪欎釜涓夋枃浠舵坊鍔犱笅闈㈢殑鍐呭錛?/p>
鍦↖nit鐨凞efault閲岋細 鍔犱笂 /usr/bin/killall synergyc 鍦≒ostLogin鐨凞efault閲岋細鍔犱笂 /usr/bin/killall synergyc 鍦≒reSession鐨凞efault閲岋細鍔犱笂 /usr/bin/killall synergyc /* 渚嬪鎴戠殑涓繪満鍚嶅彨 alvin-computer, ip鏄?12.22.33.44, 閭d箞榪欏彞搴旇榪欐牱鍐?usr/bin/synergyc 12.22.33.44 鎴?usr/bin/synergyc alvin-computer錛岃嚦浜庨偅涓猳ption灝變笉鐢ㄧ瀹冧簡*/ (榪欎簺璇彞鍒嗗埆鏄暐鎰忔濓紝鎴戝氨涓嶈璇翠簡錛屼綘鎳傜殑...錛?/p>
鍒嗗埆淇濆瓨錛岄鍑猴紝閲嶅惎---------->澶у姛鍛婃垚錛侊紒錛侊紒 鐢ㄨ繃synergy浣犲氨鐭ラ亾鎰熻鏄竴涓瓧錛?鐖斤紒
鎴戜滑閫氬父鎶婁竴浜涘叕鐢ㄥ嚱鏁板埗浣滄垚鍑芥暟搴擄紝渚涘叾瀹冪▼搴忎嬌鐢ㄣ傚嚱鏁板簱鍒嗕負闈欐佸簱鍜屽姩鎬佸簱涓?/span>
縐嶃傞潤鎬佸簱鍦ㄧ▼搴忕紪璇戞椂浼氳榪炴帴鍒扮洰鏍囦唬鐮佷腑錛岀▼搴忚繍琛屾椂灝嗕笉鍐嶉渶瑕佽闈欐佸簱銆傚姩鎬?/span>
搴撳湪紼嬪簭緙栬瘧鏃跺茍涓嶄細琚繛鎺ュ埌鐩爣浠g爜涓紝鑰屾槸鍦ㄧ▼搴忚繍琛屾槸鎵嶈杞藉叆錛屽洜姝ゅ湪紼嬪簭榪?/span>
琛屾椂榪橀渶瑕佸姩鎬佸簱瀛樺湪銆傛湰鏂囦富瑕侀氳繃涓句緥鏉ヨ鏄庡湪Linux涓浣曞垱寤洪潤鎬佸簱鍜屽姩鎬佸簱錛屼互
鍙婁嬌鐢ㄥ畠浠?/span>
鍦ㄥ垱寤哄嚱鏁板簱鍓嶏紝鎴戜滑鍏堟潵鍑嗗涓句緥鐢ㄧ殑婧愮▼搴忥紝騫跺皢鍑芥暟搴撶殑婧愮▼搴忕紪璇戞垚.o鏂囦歡銆?/span>
絎?姝ワ細緙栬緫寰楀埌涓句緥鐨勭▼搴?-hello.h銆乭ello.c鍜宮ain.c錛?/span>
hello.c(瑙佺▼搴?)鏄嚱鏁板簱鐨勬簮紼嬪簭錛屽叾涓寘鍚叕鐢ㄥ嚱鏁癶ello錛岃鍑芥暟灝嗗湪灞忓箷涓婅緭鍑?
Hello XXX!"銆俬ello.h(瑙佺▼搴?)涓鴻鍑芥暟搴撶殑澶存枃浠躲俶ain.c(瑙佺▼搴?)涓烘祴璇曞簱鏂囦歡鐨?/span>
涓葷▼搴忥紝鍦ㄤ富紼嬪簭涓皟鐢ㄤ簡鍏敤鍑芥暟hello銆?/span>
紼嬪簭1: hello.h
#ifndef HELLO_H
#define HELLO_H
void hello(const char *name);
#endif //HELLO_H
紼嬪簭2: hello.c
#include <stdio.h>
void hello(const char *name)
{
printf("Hello %s!\n", name);
}
紼嬪簭3: main.c
#include "hello.h"
int main()
{
hello("everyone");
return 0;
}
絎?姝ワ細灝唄ello.c緙栬瘧鎴?o鏂囦歡錛?/span>
鏃犺闈欐佸簱錛岃繕鏄姩鎬佸簱錛岄兘鏄敱.o鏂囦歡鍒涘緩鐨勩傚洜姝わ紝鎴戜滑蹇呴』灝嗘簮紼嬪簭hello.c閫氳繃g
cc鍏堢紪璇戞垚.o鏂囦歡銆?/span>
鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ緱鍒癶ello.o鏂囦歡銆?/span>
# gcc -c hello.c
#
鎴戜滑榪愯ls鍛戒護鐪嬬湅鏄惁鐢熷瓨浜唄ello.o鏂囦歡銆?/span>
# ls
hello.c hello.h hello.o main.c
#
鍦╨s鍛戒護緇撴灉涓紝鎴戜滑鐪嬪埌浜唄ello.o鏂囦歡錛屾湰姝ユ搷浣滃畬鎴愩?/span>
涓嬮潰鎴戜滑鍏堟潵鐪嬬湅濡備綍鍒涘緩闈欐佸簱錛屼互鍙婁嬌鐢ㄥ畠銆?/span>
絎?姝ワ細鐢?o鏂囦歡鍒涘緩闈欐佸簱錛?/span>
闈欐佸簱鏂囦歡鍚嶇殑鍛藉悕瑙勮寖鏄互lib涓哄墠緙錛岀揣鎺ョ潃璺熼潤鎬佸簱鍚嶏紝鎵╁睍鍚嶄負.a銆備緥濡傦細鎴戜滑灝?/span>
鍒涘緩鐨勯潤鎬佸簱鍚嶄負myhello錛屽垯闈欐佸簱鏂囦歡鍚嶅氨鏄痩ibmyhello.a銆傚湪鍒涘緩鍜屼嬌鐢ㄩ潤鎬佸簱鏃訛紝
闇瑕佹敞鎰忚繖鐐廣傚垱寤洪潤鎬佸簱鐢╝r鍛戒護銆?/span>
鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ皢鍒涘緩闈欐佸簱鏂囦歡libmyhello.a銆?/span>
# ar -crv libmyhello.a hello.o
#
鎴戜滑鍚屾牱榪愯ls鍛戒護鏌ョ湅緇撴灉錛?/span>
# ls
hello.c hello.h hello.o libmyhello.a main.c
#
ls鍛戒護緇撴灉涓湁libmyhello.a銆?/span>
絎?姝ワ細鍦ㄧ▼搴忎腑浣跨敤闈欐佸簱錛?/span>
闈欐佸簱鍒朵綔瀹屼簡錛屽浣曚嬌鐢ㄥ畠鍐呴儴鐨勫嚱鏁板憿錛熷彧闇瑕佸湪浣跨敤鍒拌繖浜涘叕鐢ㄥ嚱鏁扮殑婧愮▼搴忎腑鍖?/span>
鍚繖浜涘叕鐢ㄥ嚱鏁扮殑鍘熷瀷澹版槑錛岀劧鍚庡湪鐢╣cc鍛戒護鐢熸垚鐩爣鏂囦歡鏃舵寚鏄庨潤鎬佸簱鍚嶏紝gcc灝嗕細浠?/span>
闈欐佸簱涓皢鍏敤鍑芥暟榪炴帴鍒扮洰鏍囨枃浠朵腑銆傛敞鎰忥紝gcc浼氬湪闈欐佸簱鍚嶅墠鍔犱笂鍓嶇紑lib錛岀劧鍚庤拷
鍔犳墿灞曞悕.a寰楀埌鐨勯潤鎬佸簱鏂囦歡鍚嶆潵鏌ユ壘闈欐佸簱鏂囦歡銆?/span>
鍦ㄧ▼搴?:main.c涓紝鎴戜滑鍖呭惈浜嗛潤鎬佸簱鐨勫ご鏂囦歡hello.h錛岀劧鍚庡湪涓葷▼搴弇ain涓洿鎺ヨ皟鐢ㄥ叕
鐢ㄥ嚱鏁癶ello銆備笅闈㈠厛鐢熸垚鐩爣紼嬪簭hello錛岀劧鍚庤繍琛宧ello紼嬪簭鐪嬬湅緇撴灉濡備綍銆?/span>
娉曚竴 # gcc -o hello main.c -L. –lmyhello錛岃嚜瀹氫箟鐨勫簱鏃訛紝main.c榪樺彲鏀懼湪-L.鍜?–lmyhello涔嬮棿錛屼絾鏄笉鑳芥斁鍦ㄥ畠淇╀箣鍚庯紝鍚﹀垯浼氭彁紺簃yhello娌″畾涔夛紝浣嗘槸鏄郴緇熺殑搴撴椂錛屽g++ -o main錛?L/usr/lib錛?-lpthread main.cpp灝變笉鍑洪敊銆?/span>
娉曚簩 #gcc main.c libmyhello.a -o hello
娉曚笁錛氬厛鐢熸垚main.o錛歡cc -c main.c 錛屽啀鐢熸垚鍙墽琛屾枃浠訛細gcc -o hello main.o libmyhello.a錛屽姩鎬佸簱榪炴帴鏃朵篃鍙互榪欐牱鍋氥?/span>
# ./hello
Hello everyone!
#
鎴戜滑鍒犻櫎闈欐佸簱鏂囦歡璇曡瘯鍏敤鍑芥暟hello鏄惁鐪熺殑榪炴帴鍒扮洰鏍囨枃浠?hello涓簡銆?/span>
# rm libmyhello.a
rm: remove regular file `libmyhello.a'? y
# ./hello
Hello everyone!
#
紼嬪簭鐓у父榪愯錛岄潤鎬佸簱涓殑鍏敤鍑芥暟宸茬粡榪炴帴鍒扮洰鏍囨枃浠朵腑浜嗐?/span>
鎴戜滑緇х畫鐪嬬湅濡備綍鍦↙inux涓垱寤哄姩鎬佸簱銆傛垜浠繕鏄粠.o鏂囦歡寮濮嬨?/span>
絎?姝ワ細鐢?o鏂囦歡鍒涘緩鍔ㄦ佸簱鏂囦歡錛?/span>
鍔ㄦ佸簱鏂囦歡鍚嶅懡鍚嶈鑼冨拰闈欐佸簱鏂囦歡鍚嶅懡鍚嶈鑼冪被浼鹼紝涔熸槸鍦ㄥ姩鎬佸簱鍚嶅鍔犲墠緙lib錛屼絾鍏?/span>
鏂囦歡鎵╁睍鍚嶄負.so銆備緥濡傦細鎴戜滑灝嗗垱寤虹殑鍔ㄦ佸簱鍚嶄負myhello錛屽垯鍔ㄦ佸簱鏂囦歡鍚嶅氨鏄痩ibmyh
ello.so銆傜敤gcc鏉ュ垱寤哄姩鎬佸簱銆?/span>
鍦ㄧ郴緇熸彁紺虹涓嬮敭鍏ヤ互涓嬪懡浠ゅ緱鍒板姩鎬佸簱鏂囦歡libmyhello.so銆?/span>
# gcc -shared -fPCI -o libmyhello.so hello.o 錛?o涓嶅彲灝戯級
#
鎴戜滑鐓ф牱浣跨敤ls鍛戒護鐪嬬湅鍔ㄦ佸簱鏂囦歡鏄惁鐢熸垚銆?/span>
# ls
hello.c hello.h hello.o libmyhello.so main.c
#
絎?姝ワ細鍦ㄧ▼搴忎腑浣跨敤鍔ㄦ佸簱錛?/span>
鍦ㄧ▼搴忎腑浣跨敤鍔ㄦ佸簱鍜屼嬌鐢ㄩ潤鎬佸簱瀹屽叏涓鏍鳳紝涔熸槸鍦ㄤ嬌鐢ㄥ埌榪欎簺鍏敤鍑芥暟鐨勬簮紼嬪簭涓寘鍚?/span>
榪欎簺鍏敤鍑芥暟鐨勫師鍨嬪0鏄庯紝鐒跺悗鍦ㄧ敤gcc鍛戒護鐢熸垚鐩爣鏂囦歡鏃舵寚鏄庡姩鎬佸簱鍚嶈繘琛岀紪璇戙傛垜浠?/span>
鍏堣繍琛実cc鍛戒護鐢熸垚鐩爣鏂囦歡錛屽啀榪愯瀹冪湅鐪嬬粨鏋溿?/span>
# gcc -o hello main.c -L. -lmyhello
(鎴?#gcc main.c libmyhello.so -o hello 涓嶄細鍑洪敊錛堟病鏈塴ibmyhello.so鐨勮瘽錛屼細鍑洪敊錛夛紝浣嗘槸鎺ヤ笅鏉?/hello 浼氭彁紺哄嚭閿欙紝鍥犱負铏界劧榪炴帴鏃剁敤鐨勬槸褰撳墠鐩綍鐨勫姩鎬佸簱錛屼絾鏄繍琛屾椂錛屾槸鍒?usr/lib涓壘搴撴枃浠剁殑錛屽皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓氨OK浜?
# ./hello
./hello: error while loading shared libraries: libmyhello.so: cannot open shar
ed object file: No such file or directory
#
鍝︼紒鍑洪敊浜嗐傚揩鐪嬬湅閿欒鎻愮ず錛屽師鏉ユ槸鎵句笉鍒板姩鎬佸簱鏂囦歡libmyhello.so銆傜▼搴忓湪榪愯鏃訛紝
浼氬湪/usr/lib鍜?lib絳夌洰褰曚腑鏌ユ壘闇瑕佺殑鍔ㄦ佸簱鏂囦歡銆傝嫢鎵懼埌錛屽垯杞藉叆鍔ㄦ佸簱錛屽惁鍒欏皢鎻?/span>
紺虹被浼間笂榪伴敊璇岀粓姝㈢▼搴忚繍琛屻傛垜浠皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓紝鍐嶈瘯
璇曘?/span>
# mv libmyhello.so /usr/lib
# ./hello
Hello everyone!
#
鎴愬姛浜嗐傝繖涔熻繘涓姝ヨ鏄庝簡鍔ㄦ佸簱鍦ㄧ▼搴忚繍琛屾椂鏄渶瑕佺殑銆?/span>
鎴戜滑鍥炶繃澶寸湅鐪嬶紝鍙戠幇浣跨敤闈欐佸簱鍜屼嬌鐢ㄥ姩鎬佸簱緙栬瘧鎴愮洰鏍囩▼搴忎嬌鐢ㄧ殑gcc鍛戒護瀹屽叏涓鏍鳳紝
閭e綋闈欐佸簱鍜屽姩鎬佸簱鍚屽悕鏃訛紝gcc鍛戒護浼氫嬌鐢ㄥ摢涓簱鏂囦歡鍛紵鎶辯潃瀵歸棶棰樺繀絀跺埌搴曠殑蹇冩儏錛?/span>
鏉ヨ瘯璇曠湅銆?/span>
鍏堝垹闄ら櫎.c鍜?h澶栫殑鎵鏈夋枃浠訛紝鎭㈠鎴愭垜浠垰鍒氱紪杈戝畬涓句緥紼嬪簭鐘舵併?/span>
# rm -f hello hello.o /usr/lib/libmyhello.so
# ls
hello.c hello.h main.c
#
鍦ㄦ潵鍒涘緩闈欐佸簱鏂囦歡libmyhello.a鍜屽姩鎬佸簱鏂囦歡libmyhello.so銆?/span>
# gcc -c hello.c
# ar -cr libmyhello.a hello.o 錛堟垨-cvr 錛?/span>
# gcc -shared -fPCI -o libmyhello.so hello.o
# ls
hello.c hello.h hello.o libmyhello.a libmyhello.so main.c
#
閫氳繃涓婅堪鏈鍚庝竴鏉s鍛戒護錛屽彲浠ュ彂鐜伴潤鎬佸簱鏂囦歡libmyhello.a鍜屽姩鎬佸簱鏂囦歡libmyhello.s
o閮藉凡緇忕敓鎴愶紝騫墮兘鍦ㄥ綋鍓嶇洰褰曚腑銆傜劧鍚庯紝鎴戜滑榪愯gcc鍛戒護鏉ヤ嬌鐢ㄥ嚱鏁板簱myhello鐢熸垚鐩爣
鏂囦歡hello錛屽茍榪愯紼嬪簭 hello銆?/span>
# gcc -o hello main.c -L. –lmyhello 錛堝姩鎬佸簱鍜岄潤鎬佸簱鍚屾椂瀛樺湪鏃訛紝浼樺厛浣跨敤鍔ㄦ佸簱錛?褰撶劧錛岀洿鎺?gcc main.c libmyhello.a -o hello鐨勮瘽錛屽氨鏄寚瀹氫負闈欐佸簱浜嗭級
# ./hello
./hello: error while loading shared libraries: libmyhello.so: cannot open shar
ed object file: No such file or directory
#
浠庣▼搴廻ello榪愯鐨勭粨鏋滀腑寰堝鏄撶煡閬擄紝褰撻潤鎬佸簱鍜屽姩鎬佸簱鍚屽悕鏃訛紝gcc鍛戒護灝嗕紭鍏堜嬌鐢ㄥ姩鎬佸簱錛岄粯璁ゅ幓榪?usr/lib鍜?lib絳夌洰褰曚腑鐨勫姩鎬佸簱錛屽皢鏂囦歡libmyhello.so澶嶅埗鍒扮洰褰?usr/lib涓嵆鍙?/span>
Note:
緙栬瘧鍙傛暟瑙f瀽
鏈涓昏鐨勬槸GCC鍛戒護琛岀殑涓涓夐」:
-shared 璇ラ夐」鎸囧畾鐢熸垚鍔ㄦ佽繛鎺ュ簱錛堣榪炴帴鍣ㄧ敓鎴怲綾誨瀷鐨勫鍑虹鍙瘋〃錛屾湁鏃跺欎篃鐢熸垚寮辮繛鎺綾誨瀷鐨勫鍑虹鍙鳳級錛屼笉鐢ㄨ鏍囧織澶栭儴紼嬪簭鏃犳硶榪炴帴銆傜浉褰撲簬涓涓彲鎵ц鏂囦歡
-fPIC 琛ㄧず緙栬瘧涓轟綅緗嫭绔嬬殑浠g爜錛屼笉鐢ㄦ閫夐」鐨勮瘽緙栬瘧鍚庣殑浠g爜鏄綅緗浉鍏崇殑鎵浠ュ姩鎬佽澆鍏ユ椂鏄氳繃浠g爜鎷瘋礉鐨勬柟寮忔潵婊¤凍涓嶅悓榪涚▼鐨勯渶瑕侊紝鑰屼笉鑳借揪鍒扮湡姝d唬鐮佹鍏變韓鐨勭洰鐨勩?/span>
-L. 琛ㄧず瑕佽繛鎺ョ殑搴撳湪褰撳墠鐩綍涓紱錛堝涓簱錛氬湪緙栬瘧鍛戒護琛屼腑錛屽皢浣跨敤鐨勯潤鎬佸簱鏂囦歡鏀懼湪婧愭枃浠跺悗闈㈠氨鍙互浜嗐傛瘮濡傦細gcc -L/usr/lib myprop.c libtest.a libX11.a libpthread.a -o myprop
鍏朵腑-L/usr/lib鎸囧畾搴撴枃浠剁殑鏌ユ壘璺緞銆傜紪璇戝櫒榛樿鍦ㄥ綋鍓嶇洰褰曚笅鍏堟煡鎵炬寚瀹氱殑搴撴枃浠訛紝濡傚墠闈㈢殑“娉曚簩 #gccmain.c libmyhello.a-o hello”錛?/span>
-lmyhello 緙栬瘧鍣ㄦ煡鎵懼姩鎬佽繛鎺ュ簱鏃舵湁闅愬惈鐨勫懡鍚嶈鍒欙紝鍗沖湪緇欏嚭鐨勫悕瀛楀墠闈㈠姞涓妉ib錛屽悗闈㈠姞涓?so鎴?a鏉ョ‘瀹氬簱鐨勫悕縐發ibmyhello.so鎴杔ibmyhello.a銆?/span>
LD_LIBRARY_PATH榪欎釜鐜鍙橀噺鎸囩ず鍔ㄦ佽繛鎺ュ櫒鍙互瑁呰澆鍔ㄦ佸簱鐨勮礬寰勩?/span>
褰撶劧濡傛灉鏈塺oot鏉冮檺鐨勮瘽錛屽彲浠ヤ慨鏀?etc/ld.so.conf鏂囦歡錛岀劧鍚庤皟鐢?/sbin/ldconfig鏉ヨ揪鍒板悓鏍風殑鐩殑錛屼笉榪囧鏋滄病鏈塺oot鏉冮檺錛岄偅涔堝彧鑳介噰鐢ㄨ緭鍑篖D_LIBRARY_PATH鐨勬柟娉曚簡銆?/span>
璋冪敤鍔ㄦ佸簱鐨勬椂鍊欐湁鍑犱釜闂浼氱粡甯哥鍒幫紝鏈夋椂錛屾槑鏄庡凡緇忓皢搴撶殑澶存枃浠舵墍鍦ㄧ洰褰?閫氳繃 “-I” include榪涙潵浜嗭紝搴撴墍鍦ㄦ枃浠墮氳繃 “-L”鍙傛暟寮曞錛屽茍鎸囧畾浜?#8220;-l”鐨勫簱鍚嶏紝浣嗛氳繃ldd鍛戒護瀵熺湅鏃訛紝灝辨槸姝繪椿鎵句笉鍒頒綘鎸囧畾閾炬帴鐨剆o鏂囦歡錛岃繖鏃朵綘瑕佷綔鐨勫氨鏄氳繃淇敼 LD_LIBRARY_PATH鎴栬?etc/ld.so.conf鏂囦歡鏉ユ寚瀹氬姩鎬佸簱鐨勭洰褰曘傞氬父榪欐牱鍋氬氨鍙互瑙e喅搴撴棤娉曢摼鎺ョ殑闂浜嗐?/span>
鍙︼細
浠庝笂榪板彲鐭ワ紝濡備綍鎵懼埌鐢熸垚鐨勫姩鎬佸簱鏈?縐嶆柟寮忥細
(1)鎶婂簱鎷瘋礉鍒?usr/lib鍜?lib鐩綍涓嬨?/span>
(2)鍦↙D_LIBRARY_PATH鐜鍙橀噺涓姞涓婂簱鎵鍦ㄨ礬寰勩?/span>
渚嬪鍔ㄦ佸簱libhello.so鍦?home/example/lib鐩綍涓嬶細
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/example/lib
(3) 淇敼/etc/ld.so.conf鏂囦歡錛屾妸搴撴墍鍦ㄧ殑璺緞鍔犲埌鏂囦歡鏈熬錛屽茍鎵цldconfig鍒鋒柊銆傝繖鏍鳳紝鍔犲叆鐨勭洰褰曚笅鐨勬墍鏈夊簱鏂囦歡閮藉彲瑙併?/span>
闄勶細鍍忎笅闈㈣繖鏍鋒寚瀹氳礬寰勫幓榪炴帴緋葷粺鐨勯潤鎬佸簱錛屼細鎶ラ敊璇磋榪炴帴鐨勫簱鎵句笉鍒?
g++ -o main main.cpp -L/usr/lib libpthread.a
蹇呴』榪欐牱g++ -o main main.cpp -L/usr/lib -lpthread鎵嶆紜?銆?/span>
鑷畾涔夌殑搴撹冨埌/usr/lib 涓嬫椂錛?/span>
g++ -o main main.cpp -L/usr/lib libpthread.a libthread.a libclass.a浼氬嚭閿欙紝浣嗘槸榪欐牱g++ -o main main.cpp -L/usr/lib -lpthread -lthread -lclass灝辨紜簡銆?/span>
杞嚜錛歨ttp://hi.baidu.com/錕斤拷錕斤拷錕斤拷/blog/item/e58ed2f142913ea7a50f525e.html
鏉ヨ嚜: http://hi.baidu.com/jiyeqian/blog/item/d6886e22c93f5ef8d6cae27c.html
sudo apt-get install python-dev
sudo apt-get install python-enchant
sudo apt-get install python-gtk2-dev
sudo apt-get install libgtk2.0-dev
make
sudo make install
haiquan@haiquan-desktop:~$ sudo apt-get update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the list directory
sudo dpkg --configure -a
鍦板潃錛?a >http://blog.csdn.net/pfanaya/article/details/6695810
sleep 1
/usr/bin/synergyc [<options>] synergy-server-hostname
sleep 1
sleep 1
/usr/bin/synergyc [<options>] 浣犺榪炵殑鏈哄櫒鐨処P(鎴栧畠鐨勮綆楁満鍚?
鍘熸枃鍦板潃錛?a >http://blog.csdn.net/lihaoweiv/article/details/6608563
灝嗗叾鍐呭鍒犻櫎 鍔犱笂浠ヤ笅鍐呭
淇濆瓨 鐒跺悗淇敼DNS
灝嗗唴瀹逛慨鏀逛負 nameserver 202.103.24.68
淇濆瓨 閲嶅惎緗戠粶榪炴帴
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
銆銆鍒氬紑濮嬩互涓烘槸闇瑕佸仠姝ysql鏈嶅姟錛屼簬鏄仠姝ysql鍚庢墽琛宻udo apt-get install libmysqlclient15-dev浠嶇劧鍑虹幇榪欎釜閿欒錛岀戶緇壘鍘熷洜鍙戠幇錛屾垜鍦ㄦ墽琛宻udo apt-get install libmysqlclient15-dev涔嬪墠錛屾墽琛屼簡sudo apt-get install gnome錛岃屼笖璇ヨ繃紼嬫鍦ㄤ笅杞借祫婧愶紝絳夎繖涓畨瑁呭畬鍚庡氨鍙互浜嗐?/p>
Could not get lock /var/lib/dpkg/lock瑙e喅鍔炴硶
銆銆媯鏌ヤ笅鍦ㄦ墽琛宻udo apt-get install鐨勬椂鍊欙紝涔嬪墠鐨剆udo apt-get install鏄惁宸茬粡瀹屾垚錛屽悓涓鏃墮棿鍙兘鏈変竴涓猻udo apt-get install鍦ㄦ墽琛岋紒
pgrep firefox
浼氳繑鍥炴暟鍊鹼紝璀鏄?/span>7198.鐜板湪杈撳叆錛?/span>
kill 7198
灝變細鏉姝?/span>Firefox榪涚▼浜嗐?/span>
浣犱篃鍙互浣跨敤killall鍛戒護銆?/span>killall鍙互浣跨敤紼嬪簭鐨勫悕縐幫紝璀杈撳叆錛?/span>
killall firefox
3娉?/span>
濡傛灉鍓嶄袱鑰呰繕鏄潃涓嶆錛岀敤 kill -9 pid 鍛戒護,鏉ョ粷鏉
svn 鍛戒護鍏卞悓鐨勯夐」
--targets list 璇誨彇list騫跺皢鍏惰В閲婁負涓涓皢瑕佹搷浣滅殑鍙傛暟鍒楄〃
--non-recurisive, –N 鍙搷浣滃崟涓洰褰曪紝涓嶅鐞嗗瓙鐩綍
--verbose, –v 鎵撳嵃棰濆鐨勪俊鎭?/p>
--quiet, –q 鎵撳嵃鐨勪俊鎭敖鍙兘灝?/p>
--username, name 鎸囧畾鍦ㄨ繛鎺ユ巿鏉冩椂浣跨敤鐨勭敤鎴峰悕
--password, pawd 鎸囧畾瑕佷嬌鐢ㄧ殑瀵嗙爜
--no-auth-cache 涓嶈緙撳瓨韜喚浠ょ墝
--non-interactive 涓嶈鎻愮ず杈撳叆棰濆鐨勪俊鎭?/p>
--config-dir dir 浠巇ir璇誨彇鐢ㄦ埛閰嶇疆
--editor-cm cmd 浣跨敤cmd浣滀負鏃ュ織娑堟伅鐨勭紪杈戝櫒
svn add
鎶婃枃浠跺強鐩綍鐨勫悕縐版坊鍔犵粰鐗堟湰鎺у埗緋葷粺銆備粬浠細鍦ㄤ笅嬈℃彁浜ゆ椂琚坊鍔犲埌欏圭洰浠撳簱
svn add path
--auto-props 鍦ㄦ坊鍔犱粬浠殑鏃跺欒嚜鍔ㄨ緗枃浠剁殑灞炴?/p>
--no-auto-props 紱佺敤鑷姩灞炴ц緗?/p>
svn blame
鏄劇ず鏂囦歡姣忚鐨勭増鏈強浣滆呬俊鎭?/p>
--revision, –r rev 濡傛灉鎸囧畾鐨剅ev鏄崟涓増鏈紝鏄劇ず璇ョ増鏈綔鑰呬俊鎭傚鏋滄槸鑼冨洿rev1:rev2, 鏄劇ずrev2鐗堟湰浣滆呯殑淇℃伅錛屼絾鍙鏌ョ増鏈埌rev1.
svn cat
杈撳嚭鎸囧畾鏂囦歡鎴栬匲RL鐨勫唴瀹?/p>
svn cat target…
--revision, –r rev
svn checkout
浠庨」鐩粨搴撶壍鍑轟竴涓伐浣滄嫹璐?/p>
svn checkout url…path
濡傛灉娌℃湁鎸囧畾path,絳懼嚭鐨勬湰鍦扮洰褰曞悕浣跨敤URL鐨刡ase name.
svn cleanup
娓呯悊宸ヤ綔鎷瘋礉錛岀Щ闄ら攣錛屽畬鎴愭湭瀹屾垚鐨勬搷浣滐紝絳夌瓑銆?/p>
svn cleanup path…
svn commit path
鎶婃敼鍔ㄤ粠浣犵殑宸ヤ綔鎷瘋礉鍙戦佸埌欏圭洰浠撳簱
--message, –m msg 浣跨敤msg浣滀負鎻愪氦鏃ュ織娑堟伅銆?/p>
--file, –F file 浣跨敤file鐨勫唴瀹逛綔涓烘彁浜ゆ棩蹇楁秷鎭?/p>
--no-unlock 涓嶈鍦ㄦ彁浜ょ殑鏃跺欓噴鏀鵑攣銆?/p>
svn copy
鍦ㄥ伐浣滄嫹璐濇垨鑰呴」鐩粨搴撲腑鍒墮犲寘鎷巻鍙插湪鍐呯殑澶嶆湰
svn copy src dest
src鍜宒est鍙互鏄伐浣滄嫹璐?WC)鐨勮礬寰勬垨鑰匲RL.
src dest 鏁堟灉……
WC WC 鎷瘋礉騫舵坊鍔?/p>
WC URL 绔嬪嵆鎻愪氦WC鐨勬嫹璐濆埌URL
URL WC 絳懼嚭URL鍒癢C, 娣誨姞
URL URL 瀹屽叏鏈嶅姟鍣ㄧ鎷瘋礉錛涚敤浜庡埗浣滃垎鏀拰鎵撴爣絳?/p>
--revision, –r rev瑕佹嫹璐濈殑src鐨勭増鏈傚彧鍦╯rc鏄」鐩粨搴撶殑URL鏃舵墠鏈夋剰涔夈?/p>
svn delete target
浠庨」鐩粨搴撳垹闄ゆ枃浠舵垨鑰呯洰褰曘傚鏋渢arget鏄伐浣滄嫹璐濅腑鐨勬枃浠舵垨鑰呯洰褰曪紝瀹冭浠庡伐浣滄嫹璐濅腑縐婚櫎騫朵笖棰勮鍦ㄤ笅嬈℃彁浜ゆ椂鍒犻櫎鎺夈傚鏋渢arget鏄」鐩粨搴揢RL,閫氳繃涓嬈$珛鍗崇殑鎻愪氦浠庨」鐩粨搴撲腑鍒犻櫎銆?/p>
--message, –m msg
--file, –F file
svn diff
鏄劇ず涓や釜璺緞涔嬮棿鐨勫樊寮?/p>
svn diff –r rev1:rev2 target…
svn diff oldurl newurl
svn export
鍒涘緩涓涓棤鐗堟湰璁板綍鐨勬嫹璐?
svn export –r rev URL path
浠庨」鐩粨搴撶殑鎸囧畾URL瀵煎嚭涓涓共鍑鐨勭洰褰曟爲鍒皃ath涓紝濡傛灉鎸囧畾浜唕ev鍙傛暟錛屽鍑簉ev鐗堟湰鐨勶紝鍚﹀垯鍒板鏈鏂扮増鏈?/p>
svn import
鎻愪氦涓涓棤鐗堟湰鐨勬枃浠舵垨鑰呮爲鍒伴」鐩粨搴?/p>
svn import path URL
svn info
鏄劇ず鏂囦歡鎴栬呯洰褰曠殑淇℃伅銆?/p>
svn list
鍒楀嚭欏圭洰浠撳簱涓殑鐩綍鏉℃暟銆?/p>
svn lock
閿佷綇鏂囦歡璁╁叾瀹冪敤鎴蜂笉鑳芥彁浜ゆ敼鍔ㄣ?/p>
svn lock target
--message, –m msg 浣跨敤msg浣滀負閿佷俊鎭秷鎭?/p>
--force 寮哄埗鍔犻攣鎴愬姛錛岄氳繃浠庡叾浠栫敤鎴鋒垨鑰呭伐浣滄嫹璐濇妸閿佺粰鍋瘋繃鏉ャ?/p>
svn log
鏄劇ず涓浜涚増鏈垨鑰呮枃浠剁殑鏃ュ織娑堟伅.
--stop-on-copy 鍦ㄩ亶鍘嗗巻鍙茬殑鏃跺欎笉瑕佺┛瓚婃嫹璐濓紙瀵逛簬鏌ユ壘鍒嗘敮鐨勮搗鐐瑰緢鏈夌敤錛?/p>
svn merge
鎶婁袱涓潵婧愮殑宸紓搴旂敤緇欏伐浣滄嫹璐濊礬寰勩?/p>
svn merge –r rev1:rev2 source wcpath
svn mkdir
鍒涘緩鐗堟湰鎺у埗涓嬬殑鏂扮洰褰?/p>
svn mkdir target
svn move src dest
縐誨姩鎴栬呴噸鍛藉悕宸ヤ綔鎷瘋礉鎴栬呴」鐩粨搴撲腑鏂囦歡鎴栬呯洰褰曘?/p>
--revision, –r rev浣跨敤鐗堟湰rev浣滀負婧愭潵鎵ц榪欐縐誨姩銆?/p>
svn propdel
鍒犻櫎鏂囦歡鎴栬呯洰褰曠殑灞炴?/p>
svn propdel propname path…
svn propedit
緙栬緫鏂囦歡鎴栬呯洰褰曠殑灞炴?/p>
svn propedit propname path…
svn propget
鎵撳嵃鏂囦歡鎴栬呯洰褰曠殑灞炴у?/p>
svn propget propname path…
--strict 紱佺敤棰濆鐨勬崲琛屽拰鍏跺畠鐨勭編鍖栨帾鏂斤紙鍦ㄦ妸浜岃繘鍒跺睘鎬ч噸瀹氬悜鍒版枃浠舵椂浼氭湁鐢ㄥ)
svn proplist
鍒楀嚭鏂囦歡鎴栬呯洰褰曠殑鎵鏈夊睘鎬?/p>
--verbose
--recursive
--revision, –r rev 鍒楀嚭path鍦ㄧ増鏈瑀ev瀹氫箟鐨勫睘鎬?/p>
svn propset(pset, ps)
svn propset propname propval path…
--file, –F file 璇誨彇file鐨勫唴瀹癸紝浣跨敤瀹冧綔涓哄睘鎬у?
--recursive
--encoding enc 鎶婂間綔涓虹敤enc緙栫爜鐨勫瓧絎﹂泦
svn resolved
縐婚櫎宸ヤ綔鎷瘋礉鏂囦歡鎴栬呯洰褰曠殑鍐茬獊鐘舵?/p>
--recursive
svn revert
鎭㈠宸ヤ綔鎷瘋礉鐨勬枃浠訛紙鎾ら攢鏈鏂扮殑鏈湴淇敼錛?/p>
svn revert path 榪欎釜鍛戒護涓嶉渶瑕佺綉緇滆繛鎺?/p>
--recursive
svn status
鎵撳嵃宸ヤ綔鎷瘋礉涓枃浠舵垨鑰呯洰褰曠殑鐘舵?/p>
svn status path…
--show-updates, –u 鑱旂郴鏈嶅姟鍣ㄦ樉紺烘洿鏂頒俊鎭?/p>
--no-ignore 蹇借榛樿璁劇疆鍜宻vn:ignore灞炴ц緗殑蹇界暐欏?/p>
--non-recursive, –N
--verbose, –v
svn switch
鎶婂伐浣滄嫹璐濊漿鍚戝埌鍏朵粬鐨刄RL
svn switch URL path
鏇存柊宸ヤ綔鎷瘋礉璁╁叾浣跨敤欏圭洰浠撳簱鐨勬柊URL.榪欎釜琛屼負綾諱技svn update 鑰屼笖鏄竴縐嶆妸宸ヤ綔鎷瘋礉杞悜鍒板悓涓欏圭洰浠撳簱涓殑鍒嗘敮鎴栬呮爣絳劇殑鍔炴硶銆?/p>
--revision, –r rev 杞悜鍒扮増鏈瑀ev
--non-recursive, –N
--diff3-cm 浣跨敤cmd浣滀負鍚堝茍鍛戒護
svn unlock
瑙e紑宸ヤ綔鎷瘋礉鏂囦歡鎴栬呴」鐩粨搴揢RL鐨勯攣銆?/p>
svn unlock target…
--force 鐮稿潖鐜版湁瀵箃arget鐨勯攣錛岀敋鑷沖畠涓嶆槸琚綋鍓嶅伐浣滄嫹璐濇墍鎷ユ湁鐨勩?/p>
svn update
鎶婃敼鍔ㄤ粠欏圭洰浠撳簱甯﹀埌宸ヤ綔鎷瘋礉鏉ャ?/p>
svn update path…
--revision, –r rev 鏇存柊鍒扮増鏈瑀ev
--non-recrusive, –N
--diff3-cmd
Ubuntu涓嬫煡鐪嬬幆澧冨彉閲忥細
鏌ョ湅褰撳墠鐜鍙橀噺鍛戒護涓猴細env
褰撶劧鍙互鏌ョ湅鏌愪竴涓ā鍧楃殑閰嶇疆淇℃伅錛屾瘮濡傝鏌ョ湅elipse鐨勯厤緗?鍙互鐢ㄦ墽琛岋細env | grep eclipse
鏈夊涓嬭緭鍑猴細
OLDPWD=/home/runner/eclipse
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games/:$~/eclipse
鏌ョ湅褰撳墠Shell鐨勭幆澧冨彉閲忥細~$ echo $PATH # 鏄劇ず褰撳墠鐜鍙橀噺
~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games/:$~/eclipse
/etc/profile錛氭鏂囦歡涓虹郴緇熺殑姣忎釜鐢ㄦ埛璁劇疆鐜淇℃伅錛屽綋鐢ㄦ埛鐧誨綍鏃訛紝璇ユ枃浠惰鎵ц銆傚茍浠?etc/profile.d鐩綍鐨勯厤緗枃浠朵腑鎼滈泦shell鐨勮緗?/p>
/etc/bashrc錛氫負姣忎竴涓繍琛宐ash shell鐨勭敤鎴鋒墽琛屾鏂囦歡銆傚綋bash shell琚墦寮鏃訛紝璇ユ枃浠惰璇誨彇銆?/p>
~$ echo $PATH # 鏄劇ず褰撳墠鐜鍙橀噺錛堜篃灝辨槸鏄劇ず/etc/environment鏂囦歡錛?br style="line-height: 22px" />/usr/local/sbin:/usr/local/bin # 鏄劇ず涓句緥錛屽涓礬寰勪腑闂寸敤“:”闅斿紑
~$ PATH="$PATH:/home/workdir" # 娣誨姞“/home/workdir”鐩綍
/usr/local/sbin:/usr/local/bin:/home/workdir # 鏄劇ず涓句緥錛屽涓礬寰勪腑闂翠粛鐢?#8220;:”闅斿紑
鍒欐坊鍔犳垚鍔燂紒錛堟渶鍚庡綋鐒跺彲浠ラ噸鍚垨鑰呰緭鍑轟嬌鍏跺嵆鏃剁敓鏁堬細錛?br style="line-height: 22px" />~$ export PATH
~$ cd #鎵цcd鍛戒護鍚庨潰浠涔堥兘涓嶅姞錛屽彲浠ュ洖鍒板綋鍓嶇櫥褰曠敤鎴風殑瀹夸富鐩綍
~$ source .bashrc #璇ュ懡浠ら渶鍦ㄤ富鐩綍涓嬫墠鑳借繍琛岋紝鍚﹀垯鎻愮ず鎵句笉鍒?bashrc鍛戒護
緇撴潫錛?/p>
2. 璇ユ柟娉曞叏灞鏈夋晥
褰撶劧涔熷彲浠ヤ箣闂存墦寮/etc/environment鏂囦歡錛屾潵榪涜淇敼
锝? gedit /etc/environment
鐒跺悗娣誨姞浣犳兂娣誨姞鐨勮礬寰勶紝涓棿鐢?:" 鍒嗗壊
3. 鐢變簬鐪嬩笉鎳倊/.bashrc 鏂囦歡鎬庝箞閰嶇疆鐨勭幆澧冨彉閲忥紝鎵浠ュ氨涓嶇煡鍒頒簡銆備笉浠嬬粛
涓銆丮akefile浠嬬粛
銆銆Makefile鏄敤浜庤嚜鍔ㄧ紪璇戝拰閾炬帴鐨勶紝涓涓伐紼嬫湁寰堝鏂囦歡緇勬垚錛屾瘡涓涓枃浠剁殑鏀瑰彉閮戒細瀵艱嚧宸ョ▼鐨勯噸鏂伴摼鎺ワ紝浣嗘槸涓嶆槸鎵鏈夌殑鏂囦歡閮介渶瑕侀噸鏂扮紪璇戯紝Makefile涓邯褰曟湁鏂囦歡鐨勪俊鎭紝鍦╩ake鏃朵細鍐沖畾鍦ㄩ摼鎺ョ殑鏃跺欓渶瑕侀噸鏂扮紪璇戝摢浜涙枃浠躲?/p>
銆銆Makefile鐨勫畻鏃ㄥ氨鏄細璁╃紪璇戝櫒鐭ラ亾瑕佺紪璇戜竴涓枃浠墮渶瑕佷緷璧栧叾浠栫殑鍝簺鏂囦歡銆傚綋閭d簺渚濊禆鏂囦歡鏈変簡鏀瑰彉錛岀紪璇戝櫒浼氳嚜鍔ㄧ殑鍙戠幇鏈緇堢殑鐢熸垚鏂囦歡宸茬粡榪囨椂錛岃岄噸鏂扮紪璇戠浉搴旂殑妯″潡銆?/p>
銆銆Makefile鐨勫熀鏈粨鏋勪笉鏄緢澶嶆潅錛屼絾褰撲竴涓▼搴忓紑鍙戜漢鍛樺紑濮嬪啓Makefile鏃訛紝緇忓父浼氭鐤戣嚜宸卞啓鐨勬槸鍚︾鍚堟儻渚嬶紝鑰屼笖鑷繁鍐欑殑Makefile緇忓父鍜岃嚜宸辯殑寮鍙戠幆澧冪浉鍏寵仈錛屽綋緋葷粺鐜鍙橀噺鎴栬礬寰勫彂鐢熶簡鍙樺寲鍚庯紝Makefile鍙兘榪樿璺熺潃淇敼銆傝繖鏍峰氨閫犳垚浜嗘墜宸ヤ功鍐橫akefile鐨勮澶氶棶棰橈紝automake鎭板ソ鑳藉緢濂藉湴甯姪鎴戜滑瑙e喅榪欎簺闂銆?/p>
銆銆浣跨敤automake錛岀▼搴忓紑鍙戜漢鍛樺彧闇瑕佸啓涓浜涚畝鍗曠殑鍚湁棰勫畾涔夊畯鐨勬枃浠訛紝鐢盿utoconf鏍規嵁涓涓畯鏂囦歡鐢熸垚configure錛岀敱automake鏍規嵁鍙︿竴涓畯鏂囦歡鐢熸垚Makefile.in錛屽啀浣跨敤configure渚濇嵁Makefile.in鏉ョ敓鎴愪竴涓鍚堟儻渚嬬殑Makefile銆備笅闈㈡垜浠皢璇︾粏浠嬬粛Makefile鐨刟utomake鐢熸垚鏂規硶銆?/p>
銆銆浜屻佷嬌鐢ㄧ殑鐜
銆銆鏈枃鎵鎻愬埌鐨勭▼搴忔槸鍩轟簬Linux鍙戣鐗堟湰錛欶edora Core release 1錛屽畠鍖呭惈浜嗘垜浠鐢ㄥ埌鐨刟utoconf錛宎utomake銆?/p>
銆銆涓夈佷粠helloworld鍏ユ墜
銆銆鎴戜滑浠庡ぇ瀹舵渶甯鎬嬌鐢ㄧ殑渚嬪瓙紼嬪簭helloworld寮濮嬨?/p>
銆銆涓嬮潰鐨勮繃紼嬪鏋滅畝鍗曞湴璇存潵灝辨槸錛?/p>
銆銆鏂板緩涓変釜鏂囦歡錛?/p>
銆銆銆helloworld.c
銆銆銆configure.in
銆銆銆Makefile.am
銆銆鐒跺悗鎵ц錛?/p>
灝卞彲浠ョ湅鍒癕akefile琚駭鐢熷嚭鏉ワ紝鑰屼笖鍙互灝唄elloworld.c緙栬瘧閫氳繃銆?/p>
銆銆寰堢畝鍗曞惂錛屽嚑鏉″懡浠ゅ氨鍙互鍋氬嚭涓涓鍚堟儻渚嬬殑Makefile錛屾劅瑙夊浣曞憖銆?/p>
銆銆鐜板湪寮濮嬩粙緇嶈緇嗙殑榪囩▼錛?/p>
銆銆1銆佸緩鐩綍
銆銆鍦ㄤ綘鐨勫伐浣滅洰褰曚笅寤轟竴涓猦elloworld鐩綍錛屾垜浠敤瀹冩潵瀛樻斁helloworld紼嬪簭鍙婄浉鍏蟲枃浠訛紝濡傚湪/home/my/build涓嬶細
2銆?helloworld.c
銆銆鐒跺悗鐢ㄤ綘鑷繁鏈鍠滄鐨勭紪杈戝櫒鍐欎竴涓猦ellowrold.c鏂囦歡錛屽鍛戒護錛歷i helloworld.c銆備嬌鐢ㄤ笅闈㈢殑浠g爜浣滀負helloworld.c鐨勫唴瀹廣?/p>
銆銆瀹屾垚鍚庝繚瀛橀鍑恒?/p>
銆銆鐜板湪鍦╤elloworld鐩綍涓嬪氨搴旇鏈変竴涓綘鑷繁鍐欑殑helloworld.c浜嗐?/p>
3銆佺敓鎴恈onfigure
銆銆鎴戜滑浣跨敤autoscan鍛戒護鏉ュ府鍔╂垜浠牴鎹洰褰曚笅鐨勬簮浠g爜鐢熸垚涓涓猚onfigure.in鐨勬ā鏉挎枃浠躲?銆銆鍛戒護錛?/p>
鎵ц鍚庡湪hellowrold鐩綍涓嬩細鐢熸垚涓涓枃浠訛細configure.scan錛屾垜浠彲浠ユ嬁瀹冧綔涓篶onfigure.in鐨勮摑鏈?/p>
銆銆鐜板湪灝哻onfigure.scan鏀瑰悕涓篶onfigure.in錛?mv鍛戒護閲嶅懡鍚?mv configure.scan configure.in)騫朵笖緙栬緫瀹冿紝鎸変笅闈㈢殑鍐呭淇敼錛屽幓鎺夋棤鍏崇殑璇彞錛?/p>
鐒跺悗鎵ц鍛戒護aclocal鍜宎utoconf錛?strong>鍒嗗埆浼氫駭鐢焌clocal.m4鍙奵onfigure涓や釜鏂囦歡錛?/p>
澶у鍙互鐪嬪埌configure.in鍐呭鏄竴浜涘畯瀹氫箟錛岃繖浜涘畯緇廰utoconf澶勭悊鍚庝細鍙樻垚媯鏌ョ郴緇熺壒鎬с佺幆澧冨彉閲忋佽蔣浠跺繀欏葷殑鍙傛暟鐨剆hell鑴氭湰銆?/p>
銆銆autoconf 鏄敤鏉ョ敓鎴愯嚜鍔ㄩ厤緗蔣浠舵簮浠g爜鑴氭湰錛坈onfigure錛夌殑宸ュ叿銆俢onfigure鑴氭湰鑳界嫭绔嬩簬autoconf榪愯錛屼笖鍦ㄨ繍琛岀殑榪囩▼涓紝涓嶉渶瑕佺敤鎴風殑騫查銆?/p>
銆銆瑕佺敓鎴恈onfigure鏂囦歡錛屼綘蹇呴』鍛婅瘔autoconf濡備綍鎵懼埌浣犳墍鐢ㄧ殑瀹忋傛柟寮忔槸浣跨敤aclocal紼嬪簭鏉ョ敓鎴愪綘鐨刟clocal.m4銆?/p>
銆銆aclocal鏍規嵁configure.in鏂囦歡鐨勫唴瀹癸紝鑷姩鐢熸垚aclocal.m4鏂囦歡銆俛clocal鏄竴涓猵erl 鑴氭湰紼嬪簭錛屽畠鐨勫畾涔夋槸錛?#8220;aclocal - create aclocal.m4 by scanning configure.ac”銆?/p>
銆銆autoconf浠巆onfigure.in榪欎釜鍒椾婦緙栬瘧杞歡鏃舵墍闇瑕佸悇縐嶅弬鏁扮殑妯℃澘鏂囦歡涓垱寤篶onfigure銆?/p>
銆銆autoconf闇瑕丟NU m4瀹忓鐞嗗櫒鏉ュ鐞哸clocal.m4錛岀敓鎴恈onfigure鑴氭湰銆?/p>
銆銆m4鏄竴涓畯澶勭悊鍣ㄣ傚皢杈撳叆鎷瘋礉鍒拌緭鍑猴紝鍚屾椂灝嗗畯灞曞紑銆傚畯鍙互鏄唴宓岀殑錛屼篃鍙互鏄敤鎴峰畾涔夌殑銆傞櫎浜嗗彲浠ュ睍寮瀹忥紝m4榪樻湁涓浜涘唴寤虹殑鍑芥暟錛岀敤鏉ュ紩鐢ㄦ枃浠訛紝鎵ц鍛戒護錛屾暣鏁拌繍綆楋紝鏂囨湰鎿嶄綔錛屽驚鐜瓑銆俶4鏃㈠彲浠ヤ綔涓虹紪璇戝櫒鐨勫墠绔紝涔熷彲浠ュ崟鐙綔涓轟竴涓畯澶勭悊鍣ㄣ?/p>
4銆佹柊寤篗akefile.am
銆銆鏂板緩Makefile.am鏂囦歡錛屽懡浠わ細
鍐呭濡備笅:
automake浼氭牴鎹綘鍐欑殑Makefile.am鏉ヨ嚜鍔ㄧ敓鎴怣akefile.in銆?/p>
銆銆Makefile.am涓畾涔夌殑瀹忓拰鐩爣,浼氭寚瀵糰utomake鐢熸垚鎸囧畾鐨勪唬鐮併備緥濡傦紝瀹廱in_PROGRAMS灝嗗鑷寸紪璇戝拰榪炴帴鐨勭洰鏍囪鐢熸垚銆?/p>
5銆佽繍琛宎utomake
銆銆鍛戒護錛?/p>
浣跨敤automake瀵瑰叾鐢熸垚“configure.in”鏂囦歡錛屽湪榪欓噷浣跨敤閫夐」“—adding-missing”鍙互璁゛utomake鑷姩娣誨姞鏈変竴浜涘繀闇鐨勮剼鏈枃浠躲?/span>
automake浼氭牴鎹甅akefile.am鏂囦歡浜х敓涓浜涙枃浠訛紝鍖呭惈鏈閲嶈鐨凪akefile.in銆?/p>
6銆佹墽琛宑onfigure鐢熸垚Makefile,鍦ㄨ繖涓姝ヤ腑錛岄氳繃榪愯鑷姩閰嶇疆璁劇疆鏂囦歡configure錛屾妸Makefile.in鍙樻垚浜嗘渶緇堢殑Makefile銆?/span>
浣犲彲浠ョ湅鍒幫紝姝ゆ椂Makefile宸茬粡浜х敓鍑烘潵浜嗐?/p>
7銆佷嬌鐢∕akefile緙栬瘧浠g爜
榪愯helloworld
榪欐牱helloworld灝辯紪璇戝嚭鏉ヤ簡錛屼綘濡傛灉鎸変笂闈㈢殑姝ラ鏉ュ仛鐨勮瘽錛屽簲璇ヤ篃浼氬緢瀹規槗鍦扮紪璇戝嚭姝g‘鐨刪elloworld鏂囦歡銆備綘榪樺彲浠ヨ瘯鐫浣跨敤涓浜涘叾浠栫殑make鍛戒護錛屽make clean錛宮ake install錛宮ake dist錛岀湅鐪嬪畠浠細緇欎綘浠涔堟牱鐨勬晥鏋溿?br />
銆鍥涖佹繁鍏ユ祬鍑?/p>
銆銆閽堝涓婇潰鎻愬埌鐨勫悇涓懡浠わ紝鎴戜滑鍐嶅仛浜涜緇嗙殑浠嬬粛銆?/p>
銆銆1銆?autoscan
銆銆autoscan鏄敤鏉ユ壂鎻忔簮浠g爜鐩綍鐢熸垚configure.scan鏂囦歡鐨勩俛utoscan鍙互鐢ㄧ洰褰曞悕鍋氫負鍙傛暟錛屼絾濡傛灉浣犱笉浣跨敤鍙傛暟鐨勮瘽錛岄偅涔坅utoscan灝嗚涓轟嬌鐢ㄧ殑鏄綋鍓嶇洰褰曘俛utoscan灝嗘壂鎻忎綘鎵鎸囧畾鐩綍涓殑婧愭枃浠訛紝騫跺垱寤篶onfigure.scan鏂囦歡銆?/p>
銆銆2銆?configure.scan
銆銆configure.scan鍖呭惈浜?br />
緋葷粺閰嶇疆鐨勫熀鏈夐」錛岄噷闈㈤兘鏄竴浜涘畯瀹氫箟銆傛垜浠渶瑕佸皢瀹冩敼鍚嶄負configure.in
銆銆3銆?aclocal
銆銆aclocal鏄竴涓猵erl 鑴氭湰紼嬪簭銆俛clocal鏍規嵁configure.in鏂囦歡鐨勫唴瀹癸紝鑷姩鐢熸垚aclocal.m4鏂囦歡銆俛clocal鐨勫畾涔夋槸錛?#8220;aclocal - create aclocal.m4 by scanning configure.ac”銆?/p>
銆銆4銆?autoconf
銆銆autoconf鏄敤鏉ヤ駭鐢焎onfigure鏂囦歡鐨勩俢onfigure鏄竴涓剼鏈紝瀹冭兘璁劇疆婧愮▼搴忔潵閫傚簲鍚勭涓嶅悓鐨勬搷浣滅郴緇熷鉤鍙幫紝騫朵笖鏍規嵁涓嶅悓鐨勭郴緇熸潵浜х敓鍚堥傜殑Makefile錛屼粠鑰屽彲浠ヤ嬌浣犵殑婧愪唬鐮佽兘鍦ㄤ笉鍚岀殑鎿嶄綔緋葷粺騫沖彴涓婅緙栬瘧鍑烘潵銆?/p>
銆銆configure.in鏂囦歡鐨勫唴瀹規槸涓浜涘畯錛岃繖浜涘畯緇忚繃autoconf 澶勭悊鍚庝細鍙樻垚媯鏌ョ郴緇熺壒鎬с佺幆澧冨彉閲忋佽蔣浠跺繀欏葷殑鍙傛暟鐨剆hell鑴氭湰銆俢onfigure.in鏂囦歡涓殑瀹忕殑欏哄簭騫舵病鏈夎瀹氾紝浣嗘槸浣犲繀欏誨湪鎵鏈夊畯鐨勬渶鍓嶉潰鍜屾渶鍚庨潰鍒嗗埆鍔犱笂AC_INIT瀹忓拰AC_OUTPUT瀹忋?/p>
銆銆鍦╟onfigure.ini涓細
銆銆#鍙瘋〃紺烘敞閲婏紝榪欎釜瀹忓悗闈㈢殑鍐呭灝嗚蹇界暐銆?/p>
銆銆AC_INIT(FILE)
銆銆榪欎釜瀹忕敤鏉ユ鏌ユ簮浠g爜鎵鍦ㄧ殑璺緞銆?/p>
榪欎釜瀹忔槸蹇呴』鐨勶紝瀹冩弿榪頒簡鎴戜滑灝嗚鐢熸垚鐨勮蔣浠跺寘鐨勫悕瀛楀強鍏剁増鏈彿錛歅ACKAGE鏄蔣浠跺寘鐨勫悕瀛楋紝VERSION鏄増鏈彿銆傚綋浣犱嬌鐢╩ake dist鍛戒護鏃訛紝瀹冧細緇欎綘鐢熸垚涓涓被浼糷elloworld-1.0.tar.gz鐨勮蔣浠跺彂琛屽寘錛屽叾涓氨鏈夊搴旂殑杞歡鍖呯殑鍚嶅瓧鍜岀増鏈彿銆?/p>
AC_PROG_CC
銆銆榪欎釜瀹忓皢媯鏌ョ郴緇熸墍鐢ㄧ殑C緙栬瘧鍣ㄣ?
AC_OUTPUT(FILE)
銆銆榪欎釜瀹忔槸鎴戜滑瑕佽緭鍑虹殑Makefile鐨勫悕瀛椼?/p>
銆銆鎴戜滑鍦ㄤ嬌鐢╝utomake鏃訛紝瀹為檯涓婅繕闇瑕佺敤鍒板叾浠栫殑涓浜涘畯錛屼絾鎴戜滑鍙互鐢╝clocal 鏉ュ府鎴戜滑鑷姩浜х敓銆傛墽琛宎clocal鍚庢垜浠細寰楀埌aclocal.m4鏂囦歡銆?/p>
銆銆浜х敓浜哻onfigure.in鍜宎clocal.m4 涓や釜瀹忔枃浠跺悗錛屾垜浠氨鍙互浣跨敤autoconf鏉ヤ駭鐢焎onfigure鏂囦歡浜嗐?/p>
銆銆5銆?Makefile.am
銆銆Makefile.am鏄敤鏉ョ敓鎴怣akefile.in鐨勶紝闇瑕佷綘鎵嬪伐涔﹀啓銆侻akefile.am涓畾涔変簡涓浜涘唴瀹癸細
AUTOMAKE_OPTIONS
銆銆榪欎釜鏄痑utomake鐨勯夐」銆傚湪鎵цautomake鏃訛紝瀹冧細媯鏌ョ洰褰曚笅鏄惁瀛樺湪鏍囧噯GNU杞歡鍖呬腑搴斿叿澶囩殑鍚勭鏂囦歡錛屼緥濡侫UTHORS銆丆hangeLog銆丯EWS絳夋枃浠躲傛垜浠皢鍏惰緗垚foreign鏃訛紝automake浼氭敼鐢ㄤ竴鑸蔣浠跺寘鐨勬爣鍑嗘潵媯鏌ャ?/p>
bin_PROGRAMS
銆銆榪欎釜鏄寚瀹氭垜浠墍瑕佷駭鐢熺殑鍙墽琛屾枃浠剁殑鏂囦歡鍚嶃傚鏋滀綘瑕佷駭鐢熷涓彲鎵ц鏂囦歡錛岄偅涔堝湪鍚勪釜鍚嶅瓧闂寸敤絀烘牸闅斿紑銆?
helloworld_SOURCES
銆銆榪欎釜鏄寚瀹氫駭鐢?#8220;helloworld”鏃舵墍闇瑕佺殑婧愪唬鐮併傚鏋滃畠鐢ㄥ埌浜嗗涓簮鏂囦歡錛岄偅涔堣浣跨敤絀烘牸絎﹀彿灝嗗畠浠殧寮銆傛瘮濡傞渶瑕乭elloworld.h錛宧elloworld.c閭d箞璇峰啓鎴恏elloworld_SOURCES= helloworld.h helloworld.c銆?/p>
銆銆濡傛灉浣犲湪bin_PROGRAMS瀹氫箟浜嗗涓彲鎵ц鏂囦歡錛屽垯瀵瑰簲姣忎釜鍙墽琛屾枃浠墮兘瑕佸畾涔夌浉瀵圭殑filename_SOURCES銆?/p>
銆銆6銆?automake
銆銆鎴戜滑浣跨敤automake --add-missing鏉ヤ駭鐢烳akefile.in銆?/p>
銆銆閫夐」--add-missing鐨勫畾涔夋槸“add missing standard files to package”錛屽畠浼氳automake鍔犲叆涓涓爣鍑嗙殑杞歡鍖呮墍蹇呴』鐨勪竴浜涙枃浠躲?/p>
銆銆鎴戜滑鐢╝utomake浜х敓鍑烘潵鐨凪akefile.in鏂囦歡鏄鍚圙NU Makefile鎯緥鐨勶紝鎺ヤ笅鏉ユ垜浠彧瑕佹墽琛宑onfigure榪欎釜shell 鑴氭湰灝卞彲浠ヤ駭鐢熷悎閫傜殑 Makefile 鏂囦歡浜嗐?/p>
銆銆7銆?Makefile
銆銆鍦ㄧ鍚圙NU Makefiel鎯緥鐨凪akefile涓紝鍖呭惈浜嗕竴浜涘熀鏈殑棰勫厛瀹氫箟鐨勬搷浣滐細
make
銆銆鏍規嵁Makefile緙栬瘧婧愪唬鐮侊紝榪炴帴錛岀敓鎴愮洰鏍囨枃浠訛紝鍙墽琛屾枃浠躲?/p>
make clean
銆銆娓呴櫎涓婃鐨刴ake鍛戒護鎵浜х敓鐨刼bject鏂囦歡錛堝悗緙涓?#8220;.o”鐨勬枃浠訛級鍙婂彲鎵ц鏂囦歡銆?/p>
make install
銆銆灝嗙紪璇戞垚鍔熺殑鍙墽琛屾枃浠跺畨瑁呭埌緋葷粺鐩綍涓紝涓鑸負/usr/local/bin鐩綍銆?/p>
make dist
銆銆浜х敓鍙戝竷杞歡鍖呮枃浠訛紙鍗砫istribution package錛夈傝繖涓懡浠ゅ皢浼氬皢鍙墽琛屾枃浠跺強鐩稿叧鏂囦歡鎵撳寘鎴愪竴涓猼ar.gz鍘嬬緝鐨勬枃浠剁敤鏉ヤ綔涓哄彂甯冭蔣浠剁殑杞歡鍖呫?/p>
銆銆瀹冧細鍦ㄥ綋鍓嶇洰褰曚笅鐢熸垚涓涓悕瀛楃被浼?#8220;PACKAGE-VERSION.tar.gz”鐨勬枃浠躲侾ACKAGE鍜孷ERSION錛屾槸鎴戜滑鍦╟onfigure.in涓畾涔夌殑AM_INIT_AUTOMAKE(PACKAGE, VERSION)銆?/p>
make distcheck
銆銆鐢熸垚鍙戝竷杞歡鍖呭茍瀵瑰叾榪涜嫻嬭瘯媯鏌ワ紝浠ョ‘瀹氬彂甯冨寘鐨勬紜с傝繖涓搷浣滃皢鑷姩鎶婂帇緙╁寘鏂囦歡瑙e紑錛岀劧鍚庢墽琛宑onfigure鍛戒護錛屽茍涓旀墽琛宮ake錛屾潵紜緙栬瘧涓嶅嚭鐜伴敊璇紝鏈鍚庢彁紺轟綘杞歡鍖呭凡緇忓噯澶囧ソ錛屽彲浠ュ彂甯冧簡銆?/p>
銆銆綾諱技make clean錛屼絾鍚屾椂涔熷皢configure鐢熸垚鐨勬枃浠跺叏閮ㄥ垹闄ゆ帀錛屽寘鎷琈akefile銆?/p>
銆銆浜斻佺粨鏉熻
銆銆閫氳繃涓婇潰鐨勪粙緇嶏紝浣犲簲璇ュ彲浠ュ緢瀹規槗鍦扮敓鎴愪竴涓綘鑷繁鐨勭鍚圙NU鎯緥鐨凪akefile鏂囦歡鍙婂搴旂殑欏圭洰鏂囦歡銆?/p>
銆銆濡傛灉浣犳兂鍐欏嚭鏇村鏉傜殑涓旂鍚堟儻渚嬬殑Makefile錛屼綘鍙互鍙傝冧竴浜涘紑鏀句唬鐮佺殑欏圭洰涓殑configure.in鍜孧akefile.am鏂囦歡錛屾瘮濡傦細宓屽叆寮忔暟鎹簱sqlite錛屽崟鍏冩祴璇昪ppunit銆?/p>
http://wiki.ubuntu.org.cn/%E6%B7%BB%E5%8A%A0%E5%85%B6%E4%BB%96%E8%BD%AF%E4%BB%B6%E5%BA%93
娉ㄦ剰娣誨姞婧愮殑鏃跺欙紝鍙互浣跨敤ping鏉ユ祴璇曟簮鐨勯熷害錛屽敖閲忛夋嫨杈冨揩鐨勬簮銆?/p>
鎴戠殑鎿嶄綔濡備笅錛?/p>
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup //灝嗗師鏂囦歡澶囦喚涓涓? sudo gedit /etc/apt/sources.list //緙栬緫娣誨姞鏂扮殑婧?/pre>娉ㄦ剰閫夋嫨婧愯瀵瑰簲鐩稿簲鐨勭増鏈紝鎴戠殑鐗堟湰鏄?.06錛屾墍浠ラ夋嫨涓嬮潰涓涓簮錛?/pre>deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse淇濇寔鏂囦歡騫舵洿鏂?/p>
sudo apt-get update絎簩姝ワ紝瀹夎build-essential
sudo apt-get install build-essential
瀹夎瀹屾垚鍚庡啓涓涓狢璇█紼嬪簭testc.c嫻嬭瘯涓涓嬨?span class="Apple-converted-space">
浠g爜: |
#include<stdio.h> int main() { printf("Hello Ubuntu!\n"); return 0; } |
浠g爜: |
$ gcc testc.c -o testc $ ./testc |
鏄劇ず
Hello Ubuntu!
榪欐牱錛孋璇█緙栬瘧鍣ㄥ氨瀹夎鎴愬姛浜嗭紱
絎笁姝ャ佸畨瑁匞TK鐜
瀹夎GTK鐜鍙瀹夎涓涓猤nome-core-devel灝卞彲浠ヤ簡錛岄噷闈㈤泦鎴愪簡寰堝鍏朵粬鐨勫寘銆傞櫎姝や箣澶栬繕瑕佽漿涓浜涘叾浠栫殑涓滆タ錛屽libglib2.0-doc銆乴ibgtk2.0-doc甯姪鏂囨。錛宒evhelp甯姪鏂囨。鏌ョ湅錛実lade-gnome銆乬lade-common銆乬lade-doc鍥懼艦鐣岄潰璁捐絳夈?span class="Apple-converted-space">
浠g爜: |
sudo apt-get install gnome-core-devel sudo apt-get install libglib2.0-doc libgtk2.0-doc sudo apt-get install devhelp sudo apt-get install glade-gnome glade-common glade-doc |
瀹夎瀹屾垚鍚庢垜浠篃鍚屾牱鍋氫釜嫻嬭瘯紼嬪簭
浠g爜: |
#include<gtk/gtk.h> void hello(GtkWidget *widget,gpointer data) { g_print("Hello Ubuntu!\n"); } gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data) { g_print ("delete event occurred\n"); return(TRUE); } void destroy(GtkWidget *widget,gpointer data) { gtk_main_quit(); } int main( int argc, char *argv[] ) { GtkWidget *window; GtkWidget *button; gtk_init (&argc, &argv); window=gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL); gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 10); button = gtk_button_new_with_label ("Hello Ubuntu!"); gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL); gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window)); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); gtk_widget_show (window); /*鏄劇ず涓涓獥鍙?/ gtk_main(); /*榪涘叆涓誨驚鐜?/ return(0); } |
鐢ㄤ笅闈㈠懡浠ょ紪璇戣繍琛?span class="Apple-converted-space">
浠g爜: |
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0` $ ./gtktest |
浼氭樉紺轟竴涓甫鏈変竴涓寜閽殑紿楀彛錛岀偣鍑繪寜閽互鍚庣獥鍙e叧闂紝鍛戒護琛屾樉紺篐ello Ubuntu!
絎洓姝ャ佸畨瑁匭t
QT鎴戝畨瑁呬簡
libqt4-core
qt4-designer
qt4-dev-tools
qt4-qtconfig
libqt4-dev
libqt4-gui libqt4-debug
libqt4-sql
榪欎釜鎴戣繕娌℃湁鎬庝箞鐢ㄨ繃錛屽湪鏂扮珛寰楅噷闈㈡悳绱T4錛岀湅鐫宸笉澶氱殑閮借涓婁簡銆?span class="Apple-converted-space">
瑕佽В鍐抽棶棰橈紝闇瑕佷竴涓猙uild-essential
C鍜孋++鐨勬簮鏂囦歡閮藉彲浠ュ懡鍚嶄負*.c錛屼笉榪囧湪緙栬瘧鐨勬椂鍊欒姝g‘閫夋嫨鍛戒護
濡備笂闈㈠啓鐨勭▼搴忓懡鍚嶄負my.c錛屾斁鍦ㄦ闈笂
鍦ㄧ粓绔腑杈撳叆錛?br />gcc /Desktop/my.c -o res
./res
緙栬瘧鐢熸垚鍙墽琛屾枃浠秗es騫舵墽琛?/p>
鍋囧婧愮▼搴忔槸鎸夌収C++鐨勮娉曟爣鍑嗙紪鍐欑殑錛?a style="color: blue; text-decoration: underline" >http://ubuntuone.cn鍒欏簲璇ユ墽琛岋細
g++ [鐩綍鍚峕 -o [鍙墽琛屾枃浠跺悕]
./[鍙墽琛屾枃浠跺悕]
浣犲彲浠ヨ嚜宸辮皟璇曚竴涓嬩笅闈㈢殑婧愮▼搴忥細
#include <iostream>
using namespace std;
class example
{
public:
example(int i)
{
num=i;
}
void display()
{
cout<<"HelloWorld!I'm number "<<num<<endl;
}
private:
int num;
};
int main()
{
example A(1),B(2);
A.display();
B.display();
return 0;
}