編譯什麼?編譯內核?編譯軟體?GNU GCC?具體是什麼有具體的方法,但是一般下方法是三步走:
./configure
make
sudo make install clean
基本上就能夠編譯好了,但是有一些編譯的時候有依賴性的軟體包,所以我才說看你要編譯什麼軟體~
『貳』 linux如何安裝gd庫 能支持libxpm
不知道你用的哪個發行版本,主流的倉庫里的gd都是支持libXpm的。如果不支持就自己編譯一個。
『叄』 請教,如何在arch下建立qt編譯環境的問題
一、安裝G++環境
sudo apt-get install build-essential
另外的一些相關環境。如果不安裝,一些qt的組件是無法正常編譯的,例如openGL
sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxdmcp-dev
sudo apt-get install libxext-dev libxfixes-dev libxfont-dev libxft-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev
sudo apt-get install libxpm-dev libxrandr-dev libxrender-dev libxres-dev libxss-dev libxt-dev libxtst-dev libxv-dev libxvmc-dev
sudo apt-get install libglib2.0-dev
sudo apt-get install libssl-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install libcups2-dev
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo apt-get install libgstreamer0.10-dev
二、解壓代碼
tar zxvf qt-everywhere-opensource-src-4.8.4.tar.gz
解壓完進入解壓後的源代碼文件夾
三、執行。/configure生成makefile
。/configure -prefix /usr/local/Qt-4.8.2
(上面指定的這個目錄/usr/local/Qt-4.8.2 ,就是make install 後的安裝目錄)
下面出現對話框選擇open source edition.這是自由版。輸入yes接受協議。
(1)如果你的機器各種庫文件完整,經過一小會,配置完成,會出現以下信息
Qt is now configured for building ,just run 『make』
Once everything is built , you must run 『make install』
Qt will be installed into /usr/local/Qt-4.8.2
To reconfigure ,run 『make confclean』 and 『configure』
說明Makefile文件生成成功
(2)如果出現以下信息
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/gcgily/qt-everywhere-opensource-src-4.8.4/mkspecs/linux-g++
還是老辦法,以不變應萬變。進config.test/x11/xlib 執行make命令,看出錯信息
g++ -Wl,-O1 -o xlib xlib.o -L/usr/X11R6/lib -lXext -lX11 -lm
/usr/bin/ld: cannot find -lXext
看到了吧,g++在/usr/X11R6/lib下,找不到libXext.so呢。
其原因就在於需要安裝libX11的開發包,在Ubuntu/debian里包名都是libX11-dev
根據以往的經驗,在。/configure前主動裝好下面3個包,基本上就萬事大吉了
sudo apt-get install libX11-dev libXext-dev libXtst-dev
安裝所需到包後再重新。/configure即可生成Makefile文件
如果出現:Project ERROR: Package gstreamer-app-0.10 not found,則執行以下命令
apt-get install libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev如果出現 : g++: error: unrecognized command line option 『-fuse-ld=gold』
這是Qt的一個bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在裝有gold linker的系統里,編譯腳本會加入-fuse-ld=gold選項,但這個選項gcc是不支持的。解決辦法是移除該選項,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。
#
QMAKE_LFLAGS+=-fuse-ld=gold
四、編譯QT
執行make命令,需要2個小時。
五、安裝QT
運行sudo make install命令。需要幾分鍾時間,默認安裝到/usr/local/Qt-4.8.2. 運行/usr/local/Qt-4.5.3/bin/designer ,若能啟動QT,說明QT已經安裝好了。
六、設置環境變數
更改用戶環境變數
gedit /home/username/.bashrc
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
更改包括root用戶的環境變數
sudo gedit /etc/profile (此處profile文件要更改一下許可權才能寫入)
添加:
export QTDIR=/usr/local/Qt-4.8.2
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
七、測試環境變數
重啟測試環境變數:
qmake -v
顯示版本信息:
QMake version 2.01a
Using Qt version 4.8.2 in /usr/local/Qt-4.8.2/lib
which qmake
顯示安裝位置信息:
/usr/local/Trolltech/Qt-4.8.2/bin/qmake
環境變數設置成功。
代碼:
如果需要在Qt中引用其他的包以及庫文件,則使用:
INCLUDEPATH += /usr/local/include/
INCLUDEPATH += /usr/local/include/Eigen
INCLUDEPATH += /usr/local/include/boost
INCLUDEPATH += /usr/local/include/CGAL
LIBS += -L/usr/local/lib/ -lgmp
LIBS += -L/usr/local/lib/ -lmpfr
其中LIBS參數中 -l後只能接特定某一個庫文件,且如果該文件為 「libxxx.so「,則-l後只接「xxx」。
上面就是搭建Qt開發環境的方法介紹了,作為一個良好的跨平台開發工具,Qt能夠很好的運行於更大主流系統,擁有豐富的API等。
『肆』 linux 下怎樣用 eclipse 編譯 c++
一、下載 Eclipse IDE for c/c++ 安裝包
1
啟動 Linux 系統,使用瀏覽器從 eclipse 官網下載 Eclipse IDE for c/c++ 安裝包。
2
下載時,請根據你的系統版本下載相應的安裝包。由於我是 CentOS 6.6 32位版本,自然是下載 Linux 32 位的。
3
在這兒說明一下,使用此安裝包,可以免去安裝 eclipse 後還需配置 CDT 的煩惱。作為一個 c/c++ 程序開發者,深感比以前方便了不少。
二、安裝 Eclipse IDE for c/c++
1
下載完成後,進入 Eclipse 安裝包所在目錄,在空白處右擊滑鼠,啟動終端。
2
安裝 Eclipse 之前,請確保安裝了以下組件並更新到最新版:
1、java 環境
2、gcc 和 g++
下面簡單介紹一下檢測方法:
1、查詢 java 版本(通用):java -version
2、查詢 gcc 版本(紅帽系列):rpm -qa gcc
3
下面進入 eclipse 的安裝環節,非常簡單。總體來說是解壓後即可用。
首先,登陸 root 帳戶,鍵入命令 tar -zxvf 安裝包名,回車,將壓縮包解壓到當前目錄下。
4
解壓完成後,鍵入 ls ,可以看到當前目錄多了一個目錄 eclipse 。
鍵入 cp -r eclipse /opt/ ,將 eclipse 目錄下的所有文件復制到 /opt 目錄下(這個目錄隨你喜好了,不復制也行)。
三、使用 eclipse
1
如果像我上面那樣將 eclipse 文件夾復制到了 opt 目錄,在終端鍵入 /opt/eclispe/eclipse,回車。eclipse 就啟動了。
2
註:為了便於英語不好的同學理解,我下面全用中文,實際菜單為英文。
1)新建工程
首次啟動時,會提示你程序代碼保存位置,然後可能還會出現歡迎界面(關閉掉歡迎界面,IDE界面就可以看到了)。點擊「文件」-「新建」-「c++工程」。
3
為工程取一個名字(例如 test),選擇「空工程」,其餘選項保持默認(下同),點擊「下一步」。
4
在接下來的頁面中,繼續點擊「下一步」,最後點擊「完成」。
5
2)添加代碼文件
點擊「文件」-「新建」-「源文件」。
6
填寫源文件名,切記,一定要加擴展名。
7
下面,就可以在源文件中書寫代碼。書寫代碼時,系統有時會給出一些錯誤提示,如果你確認你的代碼沒有寫錯,不要去理會。
8
代碼寫完後,點擊工具欄的小三角按鈕即可對代碼編譯運行,如果彈出提示框問你「代碼已經修改,是否保存」,點擊「是」。
9
運行的結果輸出在下邊的框里。
注意事項
安裝 eclipse 前,要確保必須的組件已經安裝。
添加程序代碼文件時,一定要加上擴展名。
『伍』 如何編譯linux版本
1、下載內核文件如:linux-2.4.18-3.tar.gz拷貝到/usr/src目錄並解壓縮。
# cd /usr/src
# tar zvxf linux-2.4.18-3.tar.gz
2、進入解壓目錄。(/usr/src/linux-2.4.18-3,視文件名而定)
# cd /usr/src/linux-2.4.18-3
# make mrproper
# make xconfig
3、進行選譯,自己設定個性化的內核。完後點「save and exit」
4、進行編譯。
# make dep
# make clean
# make bzImage (I要大寫喲)
5、編譯模塊。
# make moles
# make moles_install
# depmod -a
6、編譯完成,開始替換文件。
# cd /boot
# rm System.map
# rm vmlinuz
# mv /usr/src/linux-2.4.18-3/System.map System.map
# mv /usr/src/linux-2.4.18-3/arch/i386/boot/bzImage vmlinux
7.修改開機設定。
GRUB是 /boot/grub/grub.conf文件 lilo是/etc/lilo.conf文件
可以用命令
# mkinitrd /boot/initrd-2.4.18-3.img 2.4.18-3來生成initrd文件。
用GRUB來舉例子說。(紅色部分)
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,7)
# kernel /vmlinuz-version ro root=/dev/hda10
# initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=5
splashimage=(hd0,7)/grub/splash.xpm.gz
title Red Hat Linux (2.4.18-3)
root (hd0,7)
kernel /vmlinuz-2.4.18-3 ro root=/dev/hda10
initrd /initrd-2.4.18-3.img
title win xp
rootnoverify (hd0,0)
chainloader +1
重啟計算機,完工。
附加說明:
內核編譯好後在以下幾個位置的。
1。bzImage文件 /usr/src/linux-2.4.18-3/arch/i386/boot目錄
2。外掛模塊 /usr/src/linux-2.4.18-3/arch/i386/lib目錄
3。已安裝的模塊文件 /lib/moles/2.4.18-3目錄
『陸』 如何編譯github搞下來的amule-dlp
在開始之前,您需要:
下載 amule-dlp 的源代碼
打開文本終端
進入 amule-dlp 的源代碼目錄
安裝編譯環境
您需要 root 才能進行本步驟(注意命令前的提示符,'#'表示需要root許可權,'$'表示一般用戶即可執行)
如果您使用的發行版收錄了amule,您可以使用如下命令:
# apt-get build-dep amule
該命令會為您安裝所有編譯官方版 aMule 所需的包
否則,您需要手動安裝全部依賴包:
# apt-get install g++ libcrypto++-dev libgtk2.0-dev libgd2-xpm-dev libgeoip-dev libupnp3-dev zlib1g-dev libwxgtk3.0-dev libboost-dev libboost-system-dev
如果您需要打開 WebServer 支持,就還需安裝 bison 軟體包:
# apt-get install bison
配置源代碼
如果您使用的發行版收錄了 aMule,那麼在配置源代碼前,最好找一找發行版針對 aMule 的補丁包,並將其補入 amule-dlp 中(這些補丁就暫時不要提交到這里啦)以更好地適應該發行版提供的編譯、運行環境
原則上版本庫中不保存通過程序自動生成的文件,因此您可能會發現源代碼目錄中並沒有 configure 腳本。如果是,在源代碼目錄中調用 autogen.sh 來生成它:
$ ./autogen.sh
此過程可能需要 autoconf 和 automake 以及 flex 如果是,則安裝它們。
編譯過程盡量不要直接在源代碼目錄中進行,比較簡單的方法是在源代碼目錄下建一個子目錄,並在其中調用 configure 及此後的整個編譯過程:
$ /path/to/configure --enable-optimize --with-denoise-level=3 --enable-upnp --enable-geoip --enable-nls --enable-amule-daemon --enable-amulecmd --disable-webserver --enable-alcc --enable-alc --enable-cas --enable-wxcas --enable-mmap --with-boost
您可以根據需要修改這些配置。例如:
安裝位置通過 --prefix 來指定(默認為 /usr/local )
如果您不需要 uPnP 支持,可以把 --enable-upnp 改為 --disable-upnp
如果您需要 WebServer 支持,請把 --disable-webserver 改為 --enable-webserver
如果您打算調試 amule-dlp,請安裝 binutils-dev 或其他提供 libbfd 開發環境的包並添加 --enable-debug 參數
詳見:
$ /path/to/configure --help
如有需要,可使用debian/rules來打包。
編譯
$ make
如果您的計算機有n個CPU核心,則可以使用以下命令來充分利用CPU的運算能力:
$ make -jn
或者用 nproc 命令讓系統自動判斷CPU數目:
$ make -j`nproc`
編譯需要較長時間,所需時間因計算機的運算能力的不同而有差異。
安裝
# make install
好了,現在您可以執行:
$ amule
或點擊 應用程序 - 互聯網 - aMule 來啟動 amule-dlp !
『柒』 如何用Skyeye代替ARM開發板來學習嵌入式
很多人想學習arm,但是大家買arm開發板是蠻貴的。
現在有個方法能不用開發板也能輕松學習arm。
但是個人還是建議買arm開發板,因為這樣成就感就會更強,學習起來更用心
首先我們知道我們在X86上運行的程序不能在ARM開發上運行。
通過交叉編譯了之後又不能在X86上運行。那怎麼辦呢?
Skyeye這個東西可以完完全全代替ARM開發板。
我們在linux系統上安裝了之後,就可以在上面運行我們交叉編譯過後的程序。
這是我看到一本書學到的是一本書名為《一步一步寫嵌入式系統》,就是在這本書上學到的。
下面就說說如何安裝和使用Skyeye。
首先我們下載Skyeye源碼包
為了更好的配合書籍我們使用和該書一樣的版本:
下載skyeye-1.3.3_rel.tar.gz,下載地址如下:
http://www.arm8.net/thread-38-1-1.html
我們把Skyeye的源碼包上傳到Ubuntu或者其他lnux系統上並解壓
輸入該命令解壓:tar xzvf skyeye-1.3.3_rel.tar.gz
解壓出來的就是我們所需要的包了!
下載來說說如何安裝Skyeye
首先我們進入skyeye根目錄,執行如下命令:
./configure
make lib
make install_lib
make
make install
如果make時有錯誤,我們就根據錯誤更新我們的Linux系統。
例如如果出現如下錯誤
Fatal error: X11/xpm.h: No such file or directory
Compilation terminated
可以通過該命令更新linux系統
sudo apt-get install libxpm-dev
現在我們來測試Skyeye是否正常
安裝目錄在/opt/skyeye/bin目錄下,執行skyeye_main.py命令,進入Skyeye命令行狀態表示安裝成功,可以正常使用。
好了下載我們就可以運行測試代碼
我們可以用最簡單的hello world,使用skyeye自身的hello world代碼。
cd /opt/skyeye/testsuite/arm_hello
/opt/skyeye/bin/skyeye_main.py -e arm_hello
看到狀態後執行start
裡面顯示「Connecting to Ubuntu:xxxx」。
然後在命令行輸入run
現在就可以列印「hello world」。
當然我們也可以改成自己的hello world
需要以下幾個文件:
Makefile , start.S hello.c
Makefile用來鏈接和編譯
start.S是一個啟動代碼
hello.c主函數
『捌』 如何編譯安裝源碼包軟體
怎樣安裝以源碼包打包的軟體;
1、源碼包的打包格式;
源代碼一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下;
[root@localhost beinan]# tar jxvf file.tar.bz2
[root@localhost beinan]# tar zxvf file.tar.gz
至於file.src.rpm 的用法,請參見:《file.src.rpm 使用方法的簡介》
2、如何編譯安裝源碼包;(大多數)
1)解開軟體包查看幫助文檔;
我們解開一個包後,進入解壓包,一般都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差不多;
比如我們下載一個比較新的fcitx 的軟體包,比如是 fcitx-3.2-050827.tar.bz2
我們在解開這個軟體包會會發現如下的文件;
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ls
aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm
AUTHORS config.h.in configure.in depcomp install-sh missing THANKS
autogen.sh config.rpath COPYING doc lib mkinstalldirs TODO
ChangeLog config.sub data fcitx.spec.in Makefile.am README tools
所以我們就可以看fcitx的INSTALL 和doc目錄的安裝文檔了;裡面都告訴我們如何安裝;
有時安裝文檔也會在開發者的主頁上有詳細的說明,及常見問題的處理等;比如 LumaQQ
2)編譯安裝軟體的條件;
首 先我們在Linux系統中至少得把開發工具安裝上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等開發工具或基礎包;還要安裝一些相應的開發包,一般是文件名包括dev的,比如kernel-devel;還有一些開發庫,比如以lib開頭的;如果您 在編譯軟體時,有時提示缺少什麼東西之類的,大多少的是這些開發工具和開發庫等;從光碟中找出安裝就是了;有時光碟沒有提供,請用google搜索相應的 軟體包,有時可能也會用到源碼包編譯安裝所依賴的包;
有時本來系統中已經安裝了所依賴的包,但系統提示找不到應該怎麼辦?這時需要我們設置一下PKG_CONFIG_PATH的環境變數就行了;
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig
或
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然後我們再來運行編譯的./configure ;make ;make install ,嘗試著來吧;
以java開發的工具開發的程序,要用到 jre或者jdk ;jdk已經包括jre了,所以如果我們只是要求有一個java程序運行的環境,只需要安裝jre就行了;安裝好jre,配置一下java的環境變數就可以用了。如果是圖形界面的程序,點點滑鼠就OK了;
用perl 開發的程序,是需要perl環境的,所以必須得把perl的包安裝上,python 也同理;
3)編譯安裝軟體的方法;
大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ;
我們可以通過./configure --help 來查看配置軟體的功能;大多軟體是提供./configure 配置軟體的功能的;少數的也沒有,如果沒有的就不用./configure ;直接make;make install 就行了;
./configure 比較重要的一個參數是 --prefix ,用--prefix 參數,我們可以指定軟體安裝目錄;當我們不需要這個軟體時,直接刪除軟體的目錄就行了;
比如我們可以指定fcitx 安裝到 /opt/fcitx 目錄中;
[root@localhost fcitx]#./configure --prefix=/opt/fcitx
如果我們不需要fcitx 時,可以直接刪除 /opt/fcitx 目錄;
所以我們舉這個例子中,fcitx如果定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是:
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ./configure --prefix=/opt/fcitx
[root@localhost fcitx]# make
[root@localhost fcitx]# make install
調用fcitx ,應該是
[beinan@localhost ~]#/opt/fcitx/bin/fcitx
如果您想要讓fcitx 只要執行fcitx ,就能調用,請配置環境變數,或者在/usr/bin 中做一個fcitx 的鏈接;
[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx
一般的情況下都有說,但大多軟體沒有提供源碼包的卸載方法;我們可以找到軟體的安裝點刪除。主要看你把它安裝在哪了。
設置環境變數PATH,請參見:《在Fedora Core 中,有些常用命令怎麼沒有?解決辦法設置PATH》
所以您的PATH可以設置成這樣的;
export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/fcitx/bin"
當然這只是舉個例子,fcitx 可以進入桌面自動運行的,請參看 http://www.fcitx.org 官方站上的安裝說明;舉個例子只是讓大家好理解一點;
再舉一個例子,比如我想安裝mlterm ;並指定安裝目錄為/opt/mlterm中; http://mlterm.sourceforge.net
#./configure --prefix=/opt/mlterm
#make
#make install
把源碼包安裝的軟體,都指定安裝在 /opt目錄中,這樣不就知道了軟體安裝在哪裡了;也方便卸載;