當前位置:首頁 » 編程軟體 » 交叉編譯後

交叉編譯後

發布時間: 2022-11-25 03:55:31

㈠ wireless-tool交叉編譯後在開發板上不能使用iwlist和iwconfig命令

這個是提示找不到文件,你用絕對路徑執行看下:/bin/iwlist

㈡ 交叉編譯後的python 怎麼使用第三方庫

剛遇到一樣的問題,解決之後順手回答下你。
setup.py無法安裝是因為卡在build這一步,嵌入式linux系統里為減少體積去除了kernel 頭文件之類的,所以理論上補全後可以直接在系統里setup.py安裝,但是這種方法並不適合嵌入式linux系統。
我的解決方法是在編譯根文件系統的時候順便把需要的第三方庫集成進去。buildroot 2015.05版已經有python-package框架可用,更早版本的話可以自己按照安裝步驟寫.mk來集成。也 可以在buildroot里交叉編譯好這個第三方庫,然後拷到文件系統里。

㈢ 為什麼我交叉編譯後的程序不能運行

可能是因為你交叉工具和開發板上內核所用的交叉工具版本不一樣,試試
gcc -static xx.c -o xx.o

㈣ qt交叉編譯後不顯示窗口

qt交叉編譯後不顯示窗口是因為誤將類成員函數名稱命名為show。程序在執行到w.show()之後,編譯器將成員函數看作show函數的重載,因此不再調用默認的show函數導致窗體無法顯示。

㈤ 請高手指點,為什麼QT交叉編譯好以後,可執行文件在板子上執行出現一下問題,求幫忙

//你這樣試試,你上面只是設置執行環境,直接執行下面代碼
LD_LIBRARY_PATH=/庫絕對路徑你的執行文件

//如果再不行,你直接將所需庫拷貝到/lib和/usr/lib裡面去

㈥ 在ARM上運行交叉編譯後的opencv文件,沒有輸出

一、交叉編譯opencv
構造:

下載:各個庫的下載可以直接搜名字到官網下載
幾個關鍵解釋:
「--prefix=」 後邊跟make install時的位置,本例中,libz在make install時將安裝到/usr/arm-linux-gnueabihf中
「--host=」 後邊跟arm-linux表明使用的是ARM環境
有configure的才能進行configure配置
4)所有的makefile修改類似
Libz的交叉編譯
第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared
第二步:修改makefile,主要有下邊幾個,修改的時候通篇參照即可
CC=arm-linux-gnueabihf-gcc
AR=arm-linux-gnueabihf-ar rc
RANLIB=arm-linux-gnueabihf-ranlib
STRIP = arm-linux-gnueabihf-strip
如果有ARCH的話,ARCH=ARM
第三步:#sudo make
#sudo make install
Libjpeg的交叉編譯
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc
第二步:參考1)中方法修改makefile
第三步:#sudo make
#sudo make install
Libpng的交叉編譯
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc
第二步:參考1)中方法修改makefile
第三步:#sudo make
#sudo make install
Yasm的交叉編譯
第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static
第二步:修改makefile
第三步:#sudo make
#sudo make install
Libx264的交叉編譯
第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf
第二步:修改config.mak里的參數,因為makefile要調用config.mak,所以修改方法同makefile
第三步:#sudo make
#sudo make install
Libxvid的交叉編譯
第一步:首先切換目錄 #cd build/generic
第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly
第三步:#sudo make
#sudo make install
ffmpeg的交叉編譯
第一步:
./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf
第二步:修改makefile文件
第三步:#sudo make
#sudo make install
第四步:將ffmpeg加入pkg-config
執行#sudo gedit /etc/bash.bashrc,在末尾加入
export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig
export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/
完畢後使用命令:#source /etc/bash.bashrc
或者單獨使用三個export,不過壽命只在一個終端中,終端關閉時就失效。
幾個關鍵解釋:--extra-flags指向xvid的安裝路徑,--extra-ldflags指向x264的路徑
安裝cmake-gui
執行:#sudo apt-get install cmake-qt-gui
Opencv的交叉編譯
第一步:修改opencv/platflrms/linux/目錄下的arm-gnueabi.toolchain.cmake,將其所有刪掉,寫入:
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc )
set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ )
第二步:在opencv目錄下新建build目錄,進入build目錄,執行命令:
#cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../
這時,要保證出現:

第三步:使用cmake-gui打開CMakeCache.txt,去掉所有的無關項,修改CMAKE_INSTALL_PREFIX,來確定make install的目錄
第四步:#sudo make
#sudo make install
可能出現的錯誤:
opencv編譯不通過,出現skip之類的,說明ffmpeg沒編譯好,或者其編譯好了,但是pkg-config沒有設置好,一定要設置好其環境
前邊幾步不通過的話,看看命令有沒有少,或者有沒有修改好makefile
在arm上使用時,一種方法時直接將編譯好的opencv目錄下的lib文件拷貝到開發板對應的/lib目錄下,其他或者拷貝到自己指定的目錄,並設置好環境變數即可使用

㈦ 安裝完交叉編譯器後輸入arm-linux-gcc命令出現arm-none-linux-gnueabi: no input files是怎麼回事

交叉編譯器是用來編譯arm處理器對應的linux代碼或者驅動代碼的。
你輸入arm-linux-gcc實際上是要求進行編譯操作
編譯操作需要找到makefile文件。
你只輸入了arm-linux-gcc,就說明沒有指定編譯路徑,所以在當前目錄下查找makefile。
如果當前路徑下沒有makefile,就會提示arm-none-linux-gnueabi: no input files。
建議到網上找找交叉編譯器使用方法的文章,了解一下再繼續使用。

㈧ 交叉編譯後的內核怎麼導入beagleboneblack

欏?build 能夠編譯內核樹目錄內的內核模塊,也能夠編譯內核樹目錄外的內核模塊(外部內核模塊)。. 編譯外部內核模塊的命令: #cd #make -C M=`pwd` 其中 為要編譯的內核模塊所在目錄, 為內核源碼所在的目錄。 對於發行版本的Linux ,可以用: #make -C /lib/moles/`uname -r`/build M=`pwd` 注意:使用Kbuild 之前,必須先成功編譯過內核源碼。 說明: .#make -C M=`pwd` moles 作用與上面的命令一樣 .以前的內核版本可以使用 #make -C SUBDIRS=`pwd` moles. 安裝外部內核模塊 #make -C M=`pwd` moles_install 默認安裝目錄為:/lib/moles/`uname -r`/extra ,可以通過INSTALL_MOD_PATH 宏在默認安裝路徑前加前綴。 例如: #make -C INSTALL_MOD_PATH=/opt M=`pwd` moles_install 則編譯後的模塊會放在/opt/lib/moles/`uname -r`/extra 通過宏INSTALL_MOD_DIR 可以修改是否放在'extra' 下,例如: #make -C INSTALL_MOD_DIR=golf M=`pwd` moles_install 則編譯後的模塊會放在/lib/moles/`uname -r`/golf . 編譯單個文件 #make -C M=`pwd` . 其他命令 #make -C M=`pwd` clean #make -C M=`pwd` help.Kbuild 文件 Linux的Kbuild 會在內核模塊目錄下查找Kbuild 文件,如果有,則在編譯時會使用該文件。示例: 假設有這么幾個文件:8123_if.c 8123_if.h 8123_pci.c 8123_bin.o_shipped( 二進制的模塊文件) Kbuild 文件的內容: obj-m := 8123.o 8123-y:8123_if.o 8123_pci.o 8123_bin.o Makefile的內容: #為了兼容舊版本的Kbuild ifneq($(KERNELRELEASE),) include Kbuildelse# 正常的Makefile KDIR:=/lib/moles/`uname -r`/buildall::$(MAKE) -C $(KDIR) M=`pwd` $@ # 其他targetgenbin:echo "X" > 8123_bin_shippedendif 注意,沒有源碼的二進制.o 文件必須以原文件名加_shipped 結尾,例如8123_bin.o_shipped,KBuild 會把8123_bin.o_shipped 復制為8123_bin.o ,然後一起編譯。應該用: ifeq ($(obj),) obj= .

㈨ 交叉編譯後的程序在開發板上不能運行

關於交叉編譯 交叉編譯工具(arm-linux-gcc)等相關問題可以到這里來討論下 非常火的ARM技術交流群 109739525

熱點內容
pythonforinkeys 發布:2024-05-19 01:55:44 瀏覽:792
電腦如何區域網共享文件夾 發布:2024-05-19 01:25:01 瀏覽:68
手機存儲越大性能越好嗎 發布:2024-05-19 01:14:28 瀏覽:176
我的世界hyp伺服器怎麼玩 發布:2024-05-19 00:51:25 瀏覽:801
手機如何解壓百度雲文件 發布:2024-05-19 00:32:24 瀏覽:905
centos使用python 發布:2024-05-18 23:39:48 瀏覽:869
幻影天龍腳本 發布:2024-05-18 23:38:17 瀏覽:714
編程的py 發布:2024-05-18 23:36:22 瀏覽:76
安卓系統怎麼改序列號 發布:2024-05-18 23:28:16 瀏覽:785
c語言中實數 發布:2024-05-18 23:21:03 瀏覽:897