2.安裝KDevelop
3.安裝好后,可以在應(yīng)用程序->編程 中看到 KDevelop了。下面這個(gè)使用KDevelop開(kāi)發(fā)程序是轉(zhuǎn)的,偷下懶:-)
基本步驟
一般而言,用KDevelop 編程大體要經(jīng)歷如下幾個(gè)步驟。編程是比較復(fù)雜的,很難一次成功,這些步驟
可能要反復(fù)進(jìn)行多次。
第一步,新建工程
可以通過(guò)菜單操作啟動(dòng)相應(yīng)的向?qū)С绦颍柚瓿晒こ痰某踅üぷ鳌?
【Project】→【New Project】
在新建工程過(guò)程中,主要需要指定工程文件保存位置、工程名稱(chēng)、工程類(lèi)型,并且可以填寫(xiě)編程作者
的信息。根據(jù)所選工程類(lèi)型(比如,是文本界面的程序還是圖形界面的程序,是C程序還是C++程序),向?qū)С绦驎?huì)自動(dòng)生成一批模板文件。
第二步,編輯程序文件
向?qū)С绦蛞话銜?huì)創(chuàng)建一些程序文件,應(yīng)該對(duì)這些文件進(jìn)行編輯以滿足特定的編程需要。
還可以執(zhí)行菜單操作來(lái)增加新的文件。
【File】→【New】
上述操作后,會(huì)出現(xiàn)一個(gè)對(duì)話框,用于指定文件名和文件類(lèi)型。根據(jù)文件類(lèi)型的不同,會(huì)自動(dòng)設(shè)定合
適的擴(kuò)展名。注意,“Add to project”復(fù)選框應(yīng)該勾選上以確保新文件被加入到當(dāng)前的工程中。
第三步,生成源碼結(jié)構(gòu)
在編輯好程序文件后,要先借助GNU Build System生成系統(tǒng)生成源碼結(jié)構(gòu)。在增加了新文件(或目
錄)、
修改了文件(或目錄)名、改變文件的保存位置之后,都應(yīng)該重新生成源碼結(jié)構(gòu)。具體而言,生成源碼結(jié)構(gòu)包括autoconf、automake等操作,把每
個(gè)子目錄的Makefile.am變成了Makefile.in。具有源碼結(jié)構(gòu)的程序文件包可以在任何UNIX、LINUX的系統(tǒng)上使用簡(jiǎn)單的命令(即
configure/make/make install等)進(jìn)行配置、編譯、連接和安裝。
可以執(zhí)行菜單操作來(lái)生成源碼結(jié)構(gòu):
【Build】→【Run automake&conf】
第四步,配置,即運(yùn)行configure
configure是一個(gè)腳本,用來(lái)確定所處系統(tǒng)的細(xì)節(jié),比如使用何種編譯器、何種庫(kù),以及編譯器和庫(kù)的
保存位置,并把Makefile.in的相應(yīng)部分進(jìn)行替換,形成Makefile。
可以執(zhí)行菜單操作來(lái)進(jìn)行配置:
【Build】→【Run configure】
第五步,編譯連接
執(zhí)行菜單操作【Build】→【Built Project】即可完成編譯連接,形成可執(zhí)行文件。默認(rèn)情況下,這種可執(zhí)行文件是帶有源碼調(diào)試符號(hào)的。
對(duì)于多文件的程序,一般需要對(duì)每一個(gè)文件分別進(jìn)行編譯生成目標(biāo)文件。當(dāng)每個(gè)文件的編譯通過(guò)之后,再統(tǒng)一進(jìn)行編譯連接。單獨(dú)編譯當(dāng)前正在編輯的文件的菜單操作是:
【Build】→【Compile File】
第六步,運(yùn)行
如果想在KDevelop 的控制下運(yùn)行已編譯連接好的程序,可以執(zhí)行菜單操作:
【Build】→【Excecute program】
如果想單獨(dú)運(yùn)行程序,則需要先安裝,然后在命令行中輸入相應(yīng)的可執(zhí)行文件的名字(一般來(lái)講,就是
工程的名字)即可。KDevelop 會(huì)把可執(zhí)行文件放在/usr/local/bin之中
【Build】→【Install】
4.遇到的問(wèn)題,按照上面的方法編譯第一個(gè)程序時(shí)遇到了問(wèn)題:
a)運(yùn)行Run automake&friend時(shí),報(bào)錯(cuò):
這是由于沒(méi)有安裝automake造成的,解決方法是在終端中運(yùn)行下列代碼:
sudo apt-get install automake
b)再次運(yùn)行Run automake&friend時(shí)遇到錯(cuò)誤:
這是由于沒(méi)有安裝libtool造成的,解決方法是
sudo apt-get install libtool
c)終于編程通過(guò)了,但是在Excecute program又提示錯(cuò)誤了:
這是由于沒(méi)有安裝konsole造成的,安裝就好了
sudo apt-get install konsole
引用: |
sudo gedit /etc/apt/sources.list |
引用: |
deb http://wine.budgetdedicated.com/apt dapper main
deb-src http://wine.budgetdedicated.com/apt dapper main |
引用: |
deb http://wine.budgetdedicated.com/apt breezy main
deb-src http://wine.budgetdedicated.com/apt breezy main |
引用: |
sudo apt-get update
sudo apt-get dist-upgrade sudo apt-get install wine |
代碼: |
sudo apt-get install gstreamer0.10-pitfdll gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse |
代碼: |
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo gedit /etc/apt/sources.list |
引用: |
sudo apt-get update
sudo apt-get dist-upgrade |
代碼: |
sudo apt-get install mplayer mozilla-mplayer totem-xine libxine-extracodecs |
代碼: |
sudo apt-get install build-essential |
代碼: |
sudo apt-get install eva |
在編譯之前我們需要在系統(tǒng)里安裝G++ GCC,它們就是Linux下的C++/C的編譯器。代碼如下
代碼: |
|
好,現(xiàn)在我們?cè)谖谋揪庉嬈骼飳?xiě)一個(gè)C的簡(jiǎn)單的程序(好像所有學(xué)習(xí)C或者C++的書(shū)都會(huì)出現(xiàn))
代碼: |
|
現(xiàn)在存盤(pán)為Hello.c,打開(kāi)你的終端,并在文件當(dāng)前目錄輸入:
代碼: |
|
編譯時(shí)可能會(huì)出現(xiàn)如下警告:no
newline at and of file ,只有在文件結(jié)尾添加一個(gè)新行就好了。
然后在終端中輸入
./hello
,你就能在終端中看到程序運(yùn)行結(jié)果了。
下面來(lái)說(shuō)下C++是如何編譯的
寫(xiě)程序(不用我多說(shuō)了吧)
代碼: |
|
存盤(pán)為Hello.cpp
使用gcc編譯???
不對(duì),這里我們使用g++來(lái)編譯C++程序
代碼: |
|
編譯多個(gè)文件我們?cè)趺崔k???
來(lái)看下面出了三個(gè)文件Hello.h,
Hello.cpp, MyFirst.cpp
代碼: |
|
在g++中有一個(gè)參數(shù)-c
可以只編譯不連接,那么我們就可以按如下順序編譯文件,
代碼: |
|
你是否會(huì)問(wèn),如果是一個(gè)項(xiàng)目的話,可能會(huì)有上百個(gè)文件,這樣的編譯法,人不是要累死在電腦前嗎,或者等到你編譯成功了,豈不是頭發(fā)都白了,呵呵,所以我們要把上述的編譯過(guò)程寫(xiě)進(jìn)以下一個(gè)文本文件中:
Linux下稱(chēng)之為makefile
[code]
#這里可以寫(xiě)一些文件的說(shuō)明
MyFirst:
MyFirst.o hello.o
g++ MyFirst.o hello.o -o MyFirst
Hello.o:Hello.cpp
g++ -c Hello.cpp -o Hello.o
MyFirst.o:MyFirst.cpp
g++ -c MyFirst.cpp -o MyFirst.o
[\code]
存盤(pán)為MyFirst,在終端輸入:make
MyFist
,程序出現(xiàn)了錯(cuò)誤可是所有程序員共同的敵人,在編寫(xiě)程序時(shí)我們應(yīng)該盡量的去避免錯(cuò)誤的出現(xiàn),不過(guò)編寫(xiě)的時(shí)候再怎么都不可避免的出現(xiàn)這樣那樣的錯(cuò)誤,對(duì)程序
進(jìn)行必要的調(diào)試是一個(gè)好主意,那我們?cè)趺磥?lái)調(diào)試程序呢,看下面:
[code]
gdb ./文件名
////////////////在這里我修改下要想下面可以調(diào)試,在上面編譯的 時(shí)候必須加上參數(shù)g,g++
-g hello.cpp -o hello
[/code]
以下為調(diào)試狀態(tài)下的可以用到的命令(可以僅輸入單詞的輸入,如break可簡(jiǎn)為b),尖括號(hào)中為說(shuō)明
[code]
list
<顯示源代碼>
break 行號(hào) <設(shè)置斷點(diǎn)>
run <運(yùn)行程序>
continue <繼續(xù)從斷點(diǎn)處執(zhí)行>
print 變量 <調(diào)試時(shí)查看變量的值>
del 行號(hào) <刪除斷點(diǎn)>
step <單步執(zhí)行,可跟蹤到函數(shù)內(nèi)部>
next <單步執(zhí)行,不可跟蹤到函數(shù)內(nèi)部>
quit <退出>
[/code]
代碼: |
sudo apt-get install build-essential |
代碼: |
#include <stdio.h> int main() { printf("Hello,World!\n"); return 0; } |
代碼: |
gcc Hello.c -o hello |
代碼: |
#include <iostream> using namespace std; int main() { cout<<"Hello,World!\n"<<endl; return 0; } |
代碼: |
g++ Hello.cpp -o hello |
代碼: |
//file_NO1:Hello.h class Hello { Hello(); void Display(); } //file_NO2:Hello.cpp #include <iostream> #include "Hello.h" using namespace std; Hello::Hello() { } Hello::Display() { cout<<"Hello,World!\n"<<endl; } //file_NO3:MyFirst.cpp #include <iostram> #include "Hello.cpp" int main() { Hello theHello; theHello->Display(); return 0; } |
代碼: |
g++ -c Hello.cpp -o Hello.o g++ -c MyFirst.cpp -o MyFirst.o g++ MyFirst.o hello.o -o MyFirst |
引用: |
(* The directory where temporary files should be put *)
temp_directory = "/media/disk/temp" |
引用: |
{ dirname = "/media/disk/downloads"
strategy = incoming_files priority = 0 }; |
代碼: |
gedit ~/.ies4linux/ie6/system.reg |
代碼: |
"MS Sans Serif"="sserife.fon" "MS Serif"="serife.fon" |
代碼: |
"MS Sans Serif"="SIMSUN.TTC" "MS Serif"="SIMSUN.TTC" |
代碼: |
[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes] 1144897563 "MS Shell Dlg"="SimSun" "MS Shell Dlg 2"="SimSun" |
代碼: |
sudo gedit /etc/apt/sources.list |
代碼: |
deb http://ubuntu.beryl-project.org/ feisty main |
代碼: |
wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add - |
代碼: |
sudo apt-get update |
代碼: |
xserver-xgl |
代碼: |
emerald-themes |
代碼: |
beryl |
代碼: |
xorg-driver-fglrx |
代碼: |
beryl-manager |
代碼: |
gksudo gedit /etc/X11/xorg.conf |
代碼: |
Section "Device"
Identifier "ATI Technologies, Inc. M22 [Radeon Mobility M300]" Driver "fglrx" BusID "PCI:1:0:0" EndSection |
代碼: |
Section "Extensions"
Option "Composite" "false" EndSection |
代碼: |
gksudo gedit /usr/bin/startxgl |
代碼: |
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel glx:pbuffer & DISPLAY=:1 cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)" xauth -i add :1 . "$cookie" exec dbus-launch --exit-with-session gnome-session |
代碼: |
gksudo nautilus /usr/bin |
代碼: |
gksudo gedit /usr/share/xsessions/xgl.desktop |
代碼: |
[Desktop Entry] Encoding=UTF-8 Name=Xgl Comment=Start an Xgl Session Exec=/usr/bin/startxgl Icon= Type=Application |
代碼: |
gksudo gedit /etc/apt/preferences |
代碼: |
Package: *
Pin: release o=lupine Pin-Priority: 1000 |
代碼: |
sudo apt-get update |
代碼: |
sudo apt-get install beryl-core=0.2.0~0beryl1 |
代碼: |
fglrxinfo |
skyx 寫(xiě)道: |
可以這樣來(lái)理解什么是更新源(源)==== 軟件倉(cāng)庫(kù)網(wǎng)站+系統(tǒng)補(bǔ)丁升級(jí)網(wǎng)站
這樣的站臺(tái)(服務(wù)器)遍及全球,對(duì)你來(lái)說(shuō)下載時(shí)有快有慢,所以要更改更新源的設(shè)定,以達(dá)到速度最快和找到合適的軟件。 我們所說(shuō)的改源或源設(shè)定,就是更改更新源的設(shè)定 |
引用: |
術(shù)語(yǔ)文件系統(tǒng) 可以在 Linux 文件編制中互換使用,用于指代幾個(gè)不同但相關(guān)的概念。除磁盤(pán)分區(qū)的具體實(shí)例外,文件系統(tǒng)還指代數(shù)據(jù)結(jié)構(gòu)以及分區(qū)中文件的管理方法。
另新手更感困惑的是,該術(shù)語(yǔ)還用于指代系統(tǒng)中文件的整體組織形式:目錄樹(shù)。此外,該術(shù)語(yǔ)還可以指代目錄樹(shù)中的每個(gè)子目錄,如在 /home 文件系統(tǒng)中。 |
stlxv 寫(xiě)道: |
stepmania支持跳舞機(jī),而且舞曲可以在網(wǎng)上很容易找到 |
引用: |
E: 無(wú)法獲得鎖 /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable) |
引用: |
E: 無(wú)法找到軟件包 xxx |
代碼: |
sudo apt-get install zhcon |
代碼: |
sudo ln -s ~/.themes/* /usr/share/themes
sudo ln -s ~/.icons/* /usr/share/icons |
代碼: |
sudo fc-cache -fv |
代碼: |
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
sudo gedit /boot/grub/menu.lst |
代碼: |
sudo apt-get install build-essential |
代碼: |
sudo apt-get install firestarter |
代碼: |
sudo aptitude install ubuntu-desktop |
代碼: |
sudo aptitude install kubuntu-desktop |
代碼: |
sudo aptitude install xubuntu-desktop |
代碼: |
dpkg -L xxx.deb |
代碼: |
sudo nano /boot/grub/menu.lst |
引用: |
opening/initializing the selected video-out(-vo)device. |
代碼: |
sudo apt-get install rar unrar |
代碼: |
sudo apt-get install gnome-app-install |
代碼: |
sudo apt-get install gtk2-engines-pixbuf |
代碼: |
sudo apt-get install nautilus-open-terminal |
代碼: |
sudo apt-get install nautilus-gksu |
代碼: |
sudo nautilus 某文件夾 |
代碼: |
sudo nano /etc/default/rcS |
代碼: |
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. |
代碼: |
sudo dpkg --configure -a |
代碼: |
deb http://www.telemail.fi/mlind/ubuntu feisty fonts |
代碼: |
deb http://www.telemail.fi/mlind/ubuntu edgy fonts |
代碼: |
gpg --keyserver subkeys.pgp.net --recv-keys 937215FF
gpg --export --armor 937215FF | sudo apt-key add - |
代碼: |
deb http://ubuntu.moshen.de/ feisty experimental |
代碼: |
wget http://ubuntu.moshen.de/2F306651.gpg -O- | sudo apt-key add - |
代碼: |
sudo apt-get update && sudo apt-get dist-upgrade |
代碼: |
lsb_release -a |
代碼: |
sudo apt-get autoremove
sudo apt-get install gtkorphan |
代碼: |
sudo apt-get install audacious-mac |
代碼: |
nano ~/.mplayer/config |
代碼: |
zoom=yes |
代碼: |
sudo nano /etc/mplayer/mplayer.conf |
代碼: |
sudo apt-get install gcc libc6-dev
sudo apt-get install build-essential |
代碼: |
sudo apt-get install gnome-core-devel
sudo apt-get install libgtk2.0-dev |
代碼: |
sudo apt-get install language-pack-zh |
代碼: |
sudo gedit /etc/X11/xinit/xinput.d/default
XIM=SCIM XIM_PROGRAM=/usr/bin/scim XIM_ARGS="-d" GTK_IM_MODULE=scim QT_IM_MODULE=scim DEPENDS="scim,scim-gtk2-immodule | scim-qtimm" |
代碼: |
sudo passwd root |
代碼: |
sudo fc-cache -fv |
代碼: |
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup |
代碼: |
sudo gedit /etc/apt/sources.list |
代碼: |
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java |
代碼: |
sudo gedit /etc/environment |
代碼: |
sudo gedit /etc/jvm |
代碼: |
sudo apt-get install ntfs-3g
sudo apt-get install ntfs-config |
代碼: |
sudo apt-get install gparted |
代碼: |
sudo hdparm -tT /dev/hda |
代碼: |
sudo apt-get install nautilus-open-terminal |
代碼: |
sudo apt-get install rar unrar |
代碼: |
sudo apt-get install xfonts-wqy |
代碼: |
sudo gedit /etc/modprobe.d/aliases |
代碼: |
sudo gedit /etc/modprobe.d/blacklist |
代碼: |
sudo kate /etc/init.d/rc |
代碼: |
sudo sysctl vm.swappiness=5 |
代碼: |
sudo gedit /etc/sysctl.conf |
代碼: |
sudo apt-get install sysv-rc-conf |
代碼: |
sudo sysv-rc-conf |
代碼: |
apt-get install libgtk2.0-dev |
代碼: |
sudo apt-cache search bootchart |
代碼: |
sudo apt-get install mplayer-fonts mplayer mplayer-skins mozilla-mplayer |
代碼: |
sudo apt-get install stardict stardict-common
sudo apt-get install stardict-cdict-gb stardict-cedict-gb stardict-hanzim stardict-langdao-ce-gb stardict-langdao-ec-gb |
代碼: |
sudo gedit /etc/init.d/rc.local |
代碼: |
sudo chown yourname ~/.tvtime/
sudo chmod -R 777 ~/.tvtime/ |
代碼: |
sudo apt-get install dnsmasq |
代碼: |
sudo /etc/init.d/dnsmasq restart |
代碼: |
sudo apt-get install cpufrequtils |
代碼: |
sudo chmod +s /usr/bin/cpufreq-selector |
代碼: |
sudo apt-get install sensors-applet |
代碼: |
root (hd0,7) |
代碼: |
setup (hd0) |
代碼: |
browser.download.manager.showalertOnComplete |
代碼: |
tar -zcvpPf /media/sdaX/home.tar.gz --exclude=/home/name/Desktop /home/name |
代碼: |
tar -N '2002/07/05' -zcvpPf /media/sdaX/home.tar.gz --exclude=/home/name/Desktop /home/name |
代碼: |
tar -zxvpPf /media/sdaX/home.tar.gz |
代碼: |
tar -zcvpPf /media/sdaX/home.`date +%Y-%m-%d`.tar.gz --exclude=/home/name/Desktop /home/name |
代碼: |
gconf-editor |
代碼: |
sudo apt-get install build-essential bin86 kernel-package
sudo apt-get install libqt3-headers libqt3-mt-dev sudo apt-get install bootcd-mkinitramfs |
代碼: |
sudo tar -zxvf linux-2.6.22.5.tar.gz |
代碼: |
cd /usr/src/linux-2.6.22.5/ |
代碼: |
sudo make xconfig |
代碼: |
sudo make
sudo make modules_install sudo make install |
代碼: |
sudo mkinitramfs -o /boot/initrd.img-2.6.22.5-generic 2.6.22.5 |
代碼: |
sudo /etc/init.d/gdm stop
sudo apt-get install nvidia-glx-new |
代碼: |
sudo apt-get install ia32-libs ia32-libs-gtk linux32 lib32asound2 |
代碼: |
nspluginwrapper -i ~/.mozilla/plugins/libflashplayer.so |
代碼: |
nspluginwrapper -l |
代碼: |
/home/'whoami'/.mozilla/plugins/npwrapper.libflashplayer.so
Original plugin: .mozilla/plugins/libflashplayer.so Wrapper version string: 0.9.91.2 |