當前位置:首頁 » 編程軟體 » ubuntu交叉編譯命令

ubuntu交叉編譯命令

發布時間: 2022-12-06 02:41:24

A. Ubuntu下使用mingw-w64交叉編譯ffmpeg

網上大部分編譯windows版ffmpeg的教程都是基於msys+mingw的,完全運行在windows上。由於msys2的性能實在是太糟糕了,編譯速度太感人,因此決定研究linux下使用mingw-w64交叉編譯

先是安裝ubuntu版的mingw-w64
sudo apt install mingw-w64

然後在configure ffmpeg的時候,在正常的配置項之後加上。
--arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-

上面是32位庫編譯的配置,64位的如下
--arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32-

而且最好使用動態庫,靜態庫還需要鏈接一大堆mingw的庫實現,而且還可能鏈接失敗。但這樣編譯出來的動態庫,還需要依賴 libgcc_s_sjlj-1.dll。如果要移除這個依賴,configure的時候還要加上 --extra-ldflags='-static-libgcc'

B. ubuntu下怎麼安裝交叉編譯

1. 下載軟體包
從linaro的網站下載預編譯二進制包,
注意選擇的版本哦,我們要使用linux下的哦。選擇這個:
gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2
2. 解壓
解壓gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz 到 ~/arm-cross-toolchain/目錄下
3. 設置環境變數
~$ vi .bashrc

在最後添加如下 2 行:
PATH=$PATH:/home/lxl/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin
export PATH
請注意,第一行的$PATH後面是英文冒號,而冒號後面是你的cross-toolchain的可執行文件目錄(bin目錄)的絕對路徑。 這兩句的意思就是將cross-toolchain的可執行文件路徑加入系統環境變數PATH中。
4. 使環境變數 生效
~$ source .bashrc
5. 測試
~$ arm-linux-gnueabihf-gcc -v
報錯:arm-linux-gnueabihf-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

原因:64位的系統,缺少 lib32stdc++6這個包
解決:~$ sudo apt-get install lib32stdc++6

C. 如何在ubuntu中進行交叉編譯

第一步,你需要下載QT源代碼(4.8的編譯比較容易),然後通過 ./configure (參數自己定,不懂看readme)接下來就是在QT CREATE裡面配置了,如下: 工具-->選項--->構建和運行 1. 編譯器: 點擊添加:

D. 虛擬機ubuntu14.04怎麼安裝交叉編譯器

虛擬機ubuntu14.04怎麼安裝交叉編譯器,解答如下

  • 開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中

  • 輸入命令: sudo tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

  • 安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖

  • 修改環境變數,把交叉編譯器的路徑加入到PATH:

  • 利用tab鍵的補齊功能進入該路徑,如下圖

  • 輸入pwd命令,查看當前路徑的絕對路徑

  • /home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

E. 如何更改ubuntu中交叉編譯工具鏈

1.下載arm-linux-gcc-3.4.1.tar.bz2到任意的目錄下,我把它下載到了我的個人文件夾里 /home/wrq
2. 解壓 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解壓過程需要一段時間,解壓後的文件形成了 usr/local/ 文件夾,進入該文件夾,將arm文件夾拷貝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
現在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
3. 修改環境變數,把交叉編譯器的路徑加入到PATH。(有三種方法,強烈推薦使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最後加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH
方法二:修改/etc/profile文件:
# vim /etc/profile
增加路徑設置,在末尾添加如下,保存/etc/profil文件:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
4. 立即使新的環境變數生效,不用重啟電腦:
對應方法一:#source /root/.bashrc
對應方法二:# source /etc/profile
5. 檢查是否將路徑加入到PATH:
# echo $PATH
顯示的內容中有/usr/local/arm/bin,說明已經將交叉編譯器的路徑加入PATH。至此,交
叉編譯環境安裝完成。
6. 測試是否安裝成功
# arm-linux-gcc -v
上面的命令會顯示arm-linux-gcc信息和版本,顯示的信息:
Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-
3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu
--prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm
-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable
-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-
languages=c,c++ --enable-shared --enable-c99 --enable-long-long
Thread model: posix
gcc version 3.4.1
7.編譯
Hello World程序,測試交叉工具鏈
寫下下面的Hello World程序,保存為
hello.c
#include
int main()
{
printf("Hello World!\n");
return 0;
}
執行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標板上運行了!接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執行文件只能在ARM體系下運行,不能在其於X86的PC機上運行。

F. ubuntu怎麼安裝arm交叉編譯工具

Ubuntu下安裝ARM交叉編譯器過程筆記,有圖有真相。

Linux下armcc和arm-linux交叉編譯環境的配置

2、開始安裝(建議大家新建一個文件夾),然後將文件復制到新建的文件夾中

Ubuntu下安裝ARM交叉編譯器圖文教程

輸入命令:sudotarxvzfarm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

Ubuntu下安裝ARM交叉編譯器圖文教程

安裝完成後,輸入ls命令,可以看到一個opt文件夾,如下圖

Ubuntu下安裝ARM交叉編譯器圖文教程

3.修改環境變數,把交叉編譯器的路徑加入到PATH:

利用tab鍵的補齊功能進入該路徑,如下圖

輸入pwd命令,查看當前路徑的絕對路徑

/home/cf/ARM/opt/FriendlyARM/toolschain/4.5.1/bin

G. 小白求助,如何在ubuntu的QT creator下完成交叉編譯

你需要先安裝嵌入式版本的Qt
以下是我編譯Qt時的命令:樓主看著自行改
./configure -prefix /opt/QtEmbedded-4.7.3 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -confirm-license -qt-mouse-tslib

然後把生成的Qt的qmake所在的目錄加入的Qt creater中,工具鏈就選你上面的那個arm-linux-g++

然後新建項目的時候就可以選擇 Embedded什麼來著

這樣就搞定了!

H. 如何在ubuntu中搭建交叉編譯環境toolchain

1.安裝交叉編譯環境 sudo apt-get install gcc g++ libcc1 libg++ make gdb
2.安裝交叉編譯器 f
tp:
//ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ 下載 cross -3.2.tar.bz2或者懶得去找乾脆
wget f
tp://ftp.
arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2
解壓
sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2
sudo mv /home/zhaifang/usr/local/arm /usr/local
3.交叉編譯器加入路徑 sudo vi /etc/bash.bashrc後面加入
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:'${PATH}'
fi
4.使環境生效 #source /etc/profile
5.檢查 echo $PATH 出現/usr/local/arm/bin說明成功了
6.測試 arm-linux-gcc -v

I. 怎麼在ubuntu系統下安詳交叉編譯器

1.主機:ubuntu 10.10 gcc-4.4.5, kernel-2.6.35
sudo apt-get install bison flex build-essential patch libncurses5-dev
更新系統基本的編譯工具集
(用UBUNTU最大的好處就是可以 在線更新一些需要的系統包,APT-GET)
2 使用的是CROSSTOOL做的,需要的軟體包

第一個是工具鏈編譯腳本
第二個是2進制工具集
第三個是GCC-3.4.5的源代碼
第四個是依賴的LINUX標准函數庫
第五個是依賴的thread庫
第六個是LINUX代碼
(1).linux 源代碼其實是用了 在編譯的時候需要調用一些了linux庫文件和數據結構或者是頭文件,類似驅動開發依賴源代碼
(2).這個是可以指定的找到合適的就可以,不一定就是這個版本的
第七個是標准庫的頭文件了
3 UBUNTU10自帶的GCC版本是4.4.5 太高編譯會出現語法錯誤,所以安裝4.1的就好
sudo apt-get install gcc-4.1
sudo rm /usr/bin/gcc (刪除GCC,它只是個到gcc-4.3.2的軟鏈接文件)
sudo ln -s /usr/bin/gcc-4.1 /usr/bin/gcc (建立GCC到gcc-4.1的軟鏈接)
(重新做個軟體連接指向4.1就好,這個可以在/usr/bin 下會出現:gcc-4.1 gcc-4.4)
4 修改 dash (ubuntu 默認的是 dash ,編譯指向的是bash)
ls -la /bin/sh
看到鏈接的是 dash ,則請運行以下命令
sudo dpkg-reconfigure dash
選擇 no 以刪除 dash
此處如果不改好的話,編譯時會出現錯
5 以上系統配置完成,下面開始修改腳本編譯(一下就是網上參考的了,很多的都是這么做的,謝謝那些真正看懂腳本的大牛們)

$tar –zxvf crosstool-0.43.tar.gz
$cd crosstool-0.43
在此目錄下可以看到有很多.sh腳本和.dat配置文件,每一個支持的處理器都有它所相應的腳本。http://www.linuxidc.com/假如選用demo- arm- softfloat.sh 就是建立目標為支持軟浮點的arm交叉編譯工具鏈。
3.修改demo-arm-softfloat.sh
$vim demo-arm-softfloat.sh
修改下面兩句
TARBALLS_DIR=$HOME/downloads //表示下載的源碼的存放目錄
RESULT_TOP=/opt/crosstools //表示生成的工具鏈的存放目錄
為:
TARBALLS_DIR=/home/linux/downloads(源碼存放目錄)
RESULT_TOP=/home/linux/crosstools(生成工具鏈目錄)
4.修改 gcc-3.4.5-glibc-2.3.6.dat
$ vim gcc-3.4.5-glibc-2.3.6.dat
修改內容為:
BINUTILS_DIR=binutils-2.15
GCC_DIR=gcc-3.4.5
GLIBC_DIR=glibc-2.3.6
LINUX_DIR=linux-2.6.26.5(內核版本)
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
5.修改glibc-2.3.6.tar.bz2包內的configure文件

case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.1[3-9]*) 《--------------------------------------------3920行
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
修改為
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
2.[1-2][0-9]*) 《--------------------------------------------3920行
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
還有3981行也有這樣的代碼 一個是ld,一個是ar
6.$ ./ demo-arm-softfloat.sh
注意啊UBUNTU許可權管理很嚴格,在執行腳本前,最好的就是把crosstool腳本所在的目錄和幾個源文件的目錄設置成 777
腳本運行的第一個是創建build的目錄,在腳本所在的目錄下,然後是解壓所有的源文件,檢查所有的依賴關系,進行編譯
大概需要很長時間吧,我是睡覺醒來看看 好了,,,,,,呵呵
即使如此的工作,幹了2個通宵搞定,當然邊干我還在三國殺,,,,,,,
當然成功後,有點小激動,熬了一宿,失眠了,,,,亢奮中

J. ubuntu12.04編譯交叉編譯已經安裝,為什麼還不能編譯

1、解壓交叉編譯開發工具包
sudo
tar
xvzf
arm-linux-gcc-4.4.3.tar.gz
-C
/
解壓工具鏈到根目錄,這里的解壓目錄可以任意指定。系統中會增加目錄/opt/FriendlyARM/toolschain/4.4.3/
2、修改環境變數,把交叉編譯器的路徑加入到PATH
採用修改/etc/bash.bashrc文件的方法(還可有別的方法)
①用vim打開文件:
#sudo
vim
/etc/bash.bashrc
②在最後面新建一行加上:
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
3、立即使新的環境變數生效,不用重啟電腦:
#source
/etc/bash.bashrc
{
這是上面修改環境變數的另一種方法

$sudo
-i
輸入自己的密碼,這是進入超級用戶許可權

cd
/root/
vim
.bashrc

在最後加上
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
(路徑)(注意等號那邊不要有空格)

source
~/.bashrc
(立即生效)
(好像只能本終端,注銷一下就永遠都有這個環境變數的)
}
4、檢查是否將路徑加入到PATH
#echo
$PATH
若顯示的內容中有剛剛添加的交叉編譯器所在目錄,則證明編譯環境安裝成功。
5、測試是否安裝成功
指令:#arm-linux-gcc
-v
上面的指令會顯示arm-linux-gcc信息和版本,顯示的內容信息:
此時,證明安裝成功。
6、編譯實驗
寫個HelloWorld程序,測試交叉工具連
寫下下面的HelloWorld程序,保存為hello.c
#include
int
main()
{
printf(「HelloWorld!\n」);
return0;
}
執行下面的指令:
#arm-linux-gcc-o
hello
hello.c
要是不報錯說明安裝成功。

熱點內容
如何用密碼鎖住並隱藏工作表 發布:2024-03-29 07:03:28 瀏覽:326
按鍵精靈滑鼠腳本 發布:2024-03-29 06:47:41 瀏覽:19
pythonhome 發布:2024-03-29 06:47:36 瀏覽:169
dns配置錯誤怎麼修理 發布:2024-03-29 06:36:15 瀏覽:980
電信客戶6位密碼是什麼 發布:2024-03-29 06:35:42 瀏覽:565
b星演算法找門 發布:2024-03-29 06:27:13 瀏覽:774
小數化分數c語言 發布:2024-03-29 06:20:16 瀏覽:561
如何搭建ai伺服器 發布:2024-03-29 06:20:10 瀏覽:493
用低配置手機玩游戲掉幀怎麼辦 發布:2024-03-29 06:20:06 瀏覽:588
安卓系統的微信如何安裝 發布:2024-03-29 05:48:45 瀏覽:993