交叉編譯64位-九游会j9娱乐平台
1. 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'
2. 在ubuntu下,安裝arm-linux-gcc交叉編譯器,環境變數也都設置好了,運行arm-linux-gcc 提示未找到命令
先找一下有無arm-linux-gcc這個文件:
find / -xdev -name arm-linux-gcc
再看一下有無執行許可權:
ls -l arm-linux-gcc
再用絕對路徑執行一下看看:
/path/to/arm-linux-gcc -v
3. 64位linux下的gcc如何編譯出一個32位可執行程序
理論上安裝支持環境,之後64位的gcc編譯成32位程序,就加-m32參數即可。
當然還一個辦法是裝個32位的gcc。
另外,交叉編譯也適用於x86架構。
不過這么編譯經常會出現各種問題,所以編譯32位的程序,最好還是用32位系統。
不一定重裝,用chroot和setarch命令配合即可弄出一個32位的子系統。
4. ubuntu14.04 用arm-linux-gcc 4.4.3 配置交叉編譯環境問題
安裝步驟
1、將壓縮包arm-linux-gcc-4.4.3.tar.gz存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了
5. linux與windows交叉編譯
這篇文章主要說明的是將linux上編譯的程序放到windows上運行。
首先,我的主機與虛擬機都是64位的,虛擬機為ubuntu。
編寫一個簡單的測試程序:
然後將虛擬機做如下設置:
使用如下方法將exe拷貝到windows上:
將程序拷貝到windows上。
按照windows上的程序執行方法,執行該hello.exe即可。
6. 交叉編譯armlinuxgcc wchar.h: no such file or directory 不僅如此所有的c語言頭文件都找不到
我的也是這個問題 交叉編譯環境搭建後 arm-linux-gcc -v 顯示
no such file or directory 使用which命令可以找到,環境變數沒有問題,更詳細的描述問題就是which找到的命令所在的目錄下的所有命令都是同樣的問題。
果然問題的解決點就在我用的是64位系統,使用 sudo apt-get install ia32-libs命令就可以解決
希望對你有所幫助!