2.安裝KDevelop
3.安裝好后,可以在應用程序->編程 中看到 KDevelop了。下面這個使用KDevelop開發程序是轉的,偷下懶:-)
基本步驟
一般而言,用KDevelop 編程大體要經歷如下幾個步驟。編程是比較復雜的,很難一次成功,這些步驟
可能要反復進行多次。
第一步,新建工程
可以通過菜單操作啟動相應的向導程序,借助它完成工程的初建工作。
【Project】→【New Project】
在新建工程過程中,主要需要指定工程文件保存位置、工程名稱、工程類型,并且可以填寫編程作者
的信息。根據所選工程類型(比如,是文本界面的程序還是圖形界面的程序,是C程序還是C++程序),向導程序會自動生成一批模板文件。
第二步,編輯程序文件
向導程序一般會創建一些程序文件,應該對這些文件進行編輯以滿足特定的編程需要。
還可以執行菜單操作來增加新的文件。
【File】→【New】
上述操作后,會出現一個對話框,用于指定文件名和文件類型。根據文件類型的不同,會自動設定合
適的擴展名。注意,“Add to project”復選框應該勾選上以確保新文件被加入到當前的工程中。
第三步,生成源碼結構
在編輯好程序文件后,要先借助GNU Build System生成系統生成源碼結構。在增加了新文件(或目
錄)、
修改了文件(或目錄)名、改變文件的保存位置之后,都應該重新生成源碼結構。具體而言,生成源碼結構包括autoconf、automake等操作,把每
個子目錄的Makefile.am變成了Makefile.in。具有源碼結構的程序文件包可以在任何UNIX、LINUX的系統上使用簡單的命令(即
configure/make/make install等)進行配置、編譯、連接和安裝。
可以執行菜單操作來生成源碼結構:
【Build】→【Run automake&conf】
第四步,配置,即運行configure
configure是一個腳本,用來確定所處系統的細節,比如使用何種編譯器、何種庫,以及編譯器和庫的
保存位置,并把Makefile.in的相應部分進行替換,形成Makefile。
可以執行菜單操作來進行配置:
【Build】→【Run configure】
第五步,編譯連接
執行菜單操作【Build】→【Built Project】即可完成編譯連接,形成可執行文件。默認情況下,這種可執行文件是帶有源碼調試符號的。
對于多文件的程序,一般需要對每一個文件分別進行編譯生成目標文件。當每個文件的編譯通過之后,再統一進行編譯連接。單獨編譯當前正在編輯的文件的菜單操作是:
【Build】→【Compile File】
第六步,運行
如果想在KDevelop 的控制下運行已編譯連接好的程序,可以執行菜單操作:
【Build】→【Excecute program】
如果想單獨運行程序,則需要先安裝,然后在命令行中輸入相應的可執行文件的名字(一般來講,就是
工程的名字)即可。KDevelop 會把可執行文件放在/usr/local/bin之中
【Build】→【Install】
4.遇到的問題,按照上面的方法編譯第一個程序時遇到了問題:
a)運行Run automake&friend時,報錯:
這是由于沒有安裝automake造成的,解決方法是在終端中運行下列代碼:
sudo apt-get install automake
b)再次運行Run automake&friend時遇到錯誤:
這是由于沒有安裝libtool造成的,解決方法是
sudo apt-get install libtool
c)終于編程通過了,但是在Excecute program又提示錯誤了:
這是由于沒有安裝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 |
在編譯之前我們需要在系統里安裝G++ GCC,它們就是Linux下的C++/C的編譯器。代碼如下
代碼: |
|
好,現在我們在文本編輯器里寫一個C的簡單的程序(好像所有學習C或者C++的書都會出現)
代碼: |
|
現在存盤為Hello.c,打開你的終端,并在文件當前目錄輸入:
代碼: |
|
編譯時可能會出現如下警告:no
newline at and of file ,只有在文件結尾添加一個新行就好了。
然后在終端中輸入
./hello
,你就能在終端中看到程序運行結果了。
下面來說下C++是如何編譯的
寫程序(不用我多說了吧)
代碼: |
|
存盤為Hello.cpp
使用gcc編譯???
不對,這里我們使用g++來編譯C++程序
代碼: |
|
編譯多個文件我們怎么辦???
來看下面出了三個文件Hello.h,
Hello.cpp, MyFirst.cpp
代碼: |
|
在g++中有一個參數-c
可以只編譯不連接,那么我們就可以按如下順序編譯文件,
代碼: |
|
你是否會問,如果是一個項目的話,可能會有上百個文件,這樣的編譯法,人不是要累死在電腦前嗎,或者等到你編譯成功了,豈不是頭發都白了,呵呵,所以我們要把上述的編譯過程寫進以下一個文本文件中:
Linux下稱之為makefile
[code]
#這里可以寫一些文件的說明
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]
存盤為MyFirst,在終端輸入:make
MyFist
,程序出現了錯誤可是所有程序員共同的敵人,在編寫程序時我們應該盡量的去避免錯誤的出現,不過編寫的時候再怎么都不可避免的出現這樣那樣的錯誤,對程序
進行必要的調試是一個好主意,那我們怎么來調試程序呢,看下面:
[code]
gdb ./文件名
////////////////在這里我修改下要想下面可以調試,在上面編譯的 時候必須加上參數g,g++
-g hello.cpp -o hello
[/code]
以下為調試狀態下的可以用到的命令(可以僅輸入單詞的輸入,如break可簡為b),尖括號中為說明
[code]
list
<顯示源代碼>
break 行號 <設置斷點>
run <運行程序>
continue <繼續從斷點處執行>
print 變量 <調試時查看變量的值>
del 行號 <刪除斷點>
step <單步執行,可跟蹤到函數內部>
next <單步執行,不可跟蹤到函數內部>
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 寫道: |
可以這樣來理解什么是更新源(源)==== 軟件倉庫網站+系統補丁升級網站
這樣的站臺(服務器)遍及全球,對你來說下載時有快有慢,所以要更改更新源的設定,以達到速度最快和找到合適的軟件。 我們所說的改源或源設定,就是更改更新源的設定 |
引用: |
術語文件系統 可以在 Linux 文件編制中互換使用,用于指代幾個不同但相關的概念。除磁盤分區的具體實例外,文件系統還指代數據結構以及分區中文件的管理方法。
另新手更感困惑的是,該術語還用于指代系統中文件的整體組織形式:目錄樹。此外,該術語還可以指代目錄樹中的每個子目錄,如在 /home 文件系統中。 |
stlxv 寫道: |
stepmania支持跳舞機,而且舞曲可以在網上很容易找到 |
引用: |
E: 無法獲得鎖 /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable) |
引用: |
E: 無法找到軟件包 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 |