當前位置:首頁 » 編程軟體 » 交叉編譯錯誤127

交叉編譯錯誤127

發布時間: 2023-07-31 19:44:24

『壹』 海思3516DV300搭建交叉編譯環境問題記錄

剛開始搭建海思交叉編譯環境的時候遇到問題:

安裝完arm-himix200-linux後,輸入arm-himix200-linux -v,會出現如下錯誤:

xxx@xxx-virtual-machine:~/Downloads/study3516DV300/rp-hi3516dv300-busybox/sample/hifb$ arm-himix200-linux-gcc -v

arm-himix200-linux-gcc: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.

錯誤方法:

export LC_CTYPE=C.UTF-8

這樣做的話,arm-himix200-linux-gcc -v會顯示成功,但是當去編譯sample時候,會出現這個錯誤

collect2: fatal error: /opt/hisi-linux/x86-arm/arm-himix200-linux/host_bin/../lib/gcc/arm-linux-gnueabi/6.3.0/../../../../arm-linux-gnueabi/bin/nm terminated with signal 6 [Aborted], core mped

解決方案:

vi ~/.bashrc

最後加入這兩句,完成後保存

export LC_ALL=C

export PATH="/opt/hisi-linux/x86-arm/arm-himix100-linux/bin:$PATH"

編輯之後使環境變數生效的命令:source ~/.bashrc

之後編譯sample通過,生成sample_hifb文件。

『貳』 怎麼解決/bin/sh: arm-linux-gcc: not found make: *** [src/hello.o] 錯誤 127

打開網上鄰居,在左邊「網路任務」一欄里打開查看「查看網路連接」,在打開的窗口中選擇「本地連接」單機滑鼠右鍵選擇「屬性」,在新打開的窗口中選擇「TCP/IP協議」然後點擊「屬性」按鈕。

注意如果想再也不發生此類情況,最好還是將每台電腦都改為靜態地址,設置方法同上,只需修改IP地址最後一位即可,比如你的電腦IP地址最後一位是20,別人的可以是21、22、23...以此類推。

這里是以XP系統的截圖作為講解的,Win7系統也同樣適用,只需右鍵點擊屏幕右下角「網路」打開「網路和共享中心」找到「本地連接」後右鍵點擊屬性打開後設置方法一樣。

『叄』 linux編譯配置好的內核,編譯鏡像時候出現arm-linux-:命令未找到

解決方法:
1.先打開一個超級用戶許可權的shell:
命令:sudo –s
2.在當前shell下,設置環境變數:
命令:gedit /etc/profile
在文件末端加上 export PATH=$PATH:/usr/local/arm/4.4.3/bin,並保存。
3. 執行source /etc/profile 這是避免重新啟動ubuntu而又使剛剛修改的環境變數生效的方法。
4、再進入到/opt/FriendlyARM/mini2440/linux-2.6.32.2 目錄,執行make zImage(有可能加sudo),arm-linux-gcc了,可以編譯了。

『肆』 Qt交叉編譯遇到的問題

QT相關的安裝軟體包:

(1) tmake-1.13.tar.gz (編譯工具,如progen與tmake)

(2) qt-embedded-2.3.7.tar.gz (提供了qte的庫)

(3) qt-x11-2.3.2.tar.gz (為了生成相應的QT工具,如designer和qvfb等)

(4) qtopia-free-1.7.0.tar.gz (QTE的桌面環境程序)

(5) cross-3.3.2.tar.bz2 (交叉編譯工具)

一、安裝工具

1 安裝 tmake

在 Linux 命令模式下運行以下命令:

tar xfz tmake-1.11.tar.gz

export TMAKEDIR=$PWD/tmake-1.11

export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++

export PATH=$TMAKEDIR/bin:$PATH

2 安裝 Qt/Embedded 2.3.7

在 Linux 命令模式下運行以下命令:

tar xfz qt-embedded-2.3.7.tar.gz

cd qt-2.3.7

export QTDIR=$PWD

export QTEDIR=$QTDIR

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

./configure –qconfig local–qvfb -depths 4,8,16,32

make sub-src

cd ..

上述命令 ./configure -qconfig -qvfb -depths 4,8,16,32 指定 Qt 嵌入式開發包生成虛擬緩沖幀工具qvfb,並支持 4,8,16,32 位的顯示顏色深度。另外我們也可以在 configure 的參數中添加-system-jpeg 和 gif,使 Qt/Embedded 平台能支持 jpeg、gif 格式的圖形。

上述命令 make sub-src 指定按精簡方式編譯開發包,也就是說有些 Qt 類未被編譯。Qt 嵌入式開發包有 5種編譯范圍的選項,使用這些選項,可控制 Qt 生成的庫文件的大小,但是您的應用所使用到的一些 Qt 類將可能因此在 Qt 的庫中找不到鏈接。編譯選項的具體用法可運行./configure -help 命令查看。

在這一過程的configure中出現了問題:有一個變數沒有聲明,發現是少了一個頭文件,加上即可,make順利通過,看到了enjoy!

3 安裝 Qt/X11 2.3.2

在 Linux 命令模式下運行以下命令:

tar xfz qt-x11-2.3.2.tar.gz

cd qt-2.3.2

export QTDIR=$PWD

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

./configure -no-opengl

make

make -C tools/qvfb

mv tools/qvfb/qvfb bin

cp bin/uic $QTEDIR/bin

cd ..

根據開發者本身的開發環境,也可以在 configure 的參數中添加別的參數, 比如-no-opengl 或-no-xfs,可以鍵入./configure -help 來獲得一些幫助信息。

在這個安裝過程中也出現了很多錯誤,典型的就是在make過程中:

/usr/local/qt-2.3.2/include/qvaluestack.h:57: error: cannot convert 'QValueListIterator<QMap<QString, QString> >' to 'const char*' for argument '1' to 'int remove(const char*)'

/usr/local/qt-2.3.2/include/qvaluestack.h: In member function 'T QValueStack<T>::pop() [with T = QString]':

xml/qxml.cpp:2502: instantiated from here

/usr/local/qt-2.3.2/include/qvaluestack.h:57: error: cannot convert 'QValueListIterator<QString>' to 'const char*' for argument '1' to 'int remove(const char*)'

make[2]: *** [xml/qxml.o] Error 1

make[2]: Leaving directory `/usr/local/qt-2.3.2/src'

make[1]: *** [sub-src] Error 2

make[1]: Leaving directory `/usr/local/qt-2.3.2'

make: *** [init] Error 2

這個錯誤是說,在文件qvaluestack.h的57行出錯。改正方法是修改文件qt-2.3.2/ include/qvaluestack.h的 第57行,將remove( this->fromLast() );改為 this->remove( this->fromLast() );

修改時可能要更改文件許可權,變成可寫的,chmod 666 qvaluestack.h。然後make順利通過,看到了enjoy。

二、交叉編譯 Qt/Embedded 的庫

開發居於 Qt/Embedded 的應用程序要使用到 Qt/Embedded 的庫,編寫的 Qt 嵌入式應用程序最終是在YLE270開發板上運行的,因此在把 Qt 嵌入式應用程序編譯成支持 YLE270 的目標代碼之前,需要兩樣東西,一個是 arm9 的 linux 編譯器,另一個是經 arm9 的linux 編譯器編譯過的 Qt/Embedded 的庫。安裝交叉編譯工具 cross-3.3.2 前面已經安裝過了。

這一步主要是配置 Qt/Embedded2.3.7 的安裝,Qt/Embedded 的安裝選項有很多個,您可以在命令行下直接輸入「./configure」來運行配置,這時安裝程序會一步一步提示你輸入安裝選項。您也可以在「./configure」後輸入多個安裝選項直接完成安裝的配置。在這些選項中有一個選項決定了編譯 Qt/Embedded 庫的范圍,即可以指定以最小,小,中,大,完全 5 種方式編譯 Qt/Embedded 庫。另外 Qt/Embedded 的安裝選項還允許我們自己定製一個配置文件,來有選擇的編譯 Qt/Embedded 庫,這個安裝選項是「-qconfig local」 ;當我們指定這個選項時,Qt/Embedded庫在安裝過程中會尋找qt-2.3.7/src/tools/qconfig-local.h 這個文件,如找到這個文件,就會以該文件裡面定義的宏,來編譯鏈接 Qt/Embedded 庫。

具體過程如下:

cd qt-2.3.7

export QTDIR=$PWD

export QTEDIR=$QTDIR

make clean

./configure –xplatform linux-arm-g++ -shared –debug (接下行)

-qconfig local -qvfb -depths 4,8,16,32

make

cd ..

在make中出現了錯誤,有變數沒有聲明,原來是優龍公司為了避免初學者在一開始就直接接觸到 Qt/Embedde 的復雜的宏編譯選項,把這些宏定義到一個名為 qconfig-local.h的安裝配置文件中,在安裝 Qt/Embedded 的時候,需要把這個文件復制到 Qt/Embedded 的安裝路徑的/src/tools 子路徑下,

cp /配置文件所在路徑/qconfig-local.h ./src/tools

make順利通過,看到了enjoy。

最後就可以在命令行下輸入make 命令對整個工程進行編譯鏈接了,在這里,要把過程中產生的文件放在同一個文件夾裡面,方便應用。

在最後make完畢以後我還是遇到了一個問題,就是生成的可執行文件不能運行,運行時提示:./hello cannot execute binary file,當然不能直接在自己的主機上運行了,因為生成的二進制文件要下到板子上運行的。接上液晶屏,板子上電,把生成的可執行文件下載到板子上,要chmod一下,不然許可權不夠,終於在液晶屏上看到了自己弄的小程序,好開心!

三、添加一個 Qt/Embedded 應用到 QPE

以hello,world!為例

1 在工作的機器上解包 qtopia

tar zxvf qtopia-free-1.7.x.tar.gz

cd qtopia-free-1.7.x

export QTDIR=$QTEDIR

export QPEDIR=$PWD

export PATH=$QPEDIR/bin:$PATH

注意在上面已經設定環境變數 QPEDIR 為 QPE 的安裝(解包)路徑。

2 建立 Hello,World 的例子程序的圖標文件

方法是:製作一個 32 X 32 大小的 PNG 格式的圖標文件,將該文件存放在$QPEDIR/pics/inline 目錄下,然後使用以下命令將$QPEDIR/pics/inline 目錄下的所有圖形文件轉換成為一個 c 語言的頭文件,這個頭文件包含了該目錄下的圖形文件的 rgb 信息。

qembed --images $QPEDIR/pics/inline/*.*

> $QPEDIR/src/libraries/qtopia/inlinepics_p.h

3 交叉編譯 qtopia

在$QPEDIR 路徑下,運行以下命令

cd src

./configure –platform linux-arm-g++

make

cd ..

在這一過程中也出現了比較大的錯誤,在make的時候又出現了error,是resource.cpp的174行的變數qembed_findImage沒有聲明,考慮到以前遇到的情況,推斷可能是少了某個頭文件,但是又不知道是哪一個,google了很久都沒有找到解決辦法,沒辦法只好點開src/libraries/qtopia下面的每一個頭文件看了一遍,還是沒有發現有含有這個變數的文件,繼續google,然後發現了inlinepics_p.h中包含qembed_findImage,於是vi /usr/local/qtopia-free-1.7.0/src/libraries/qtopia/inlinepics_p.h,發現inlinepics_p.h是空白的,原來是

qembed --images $QPEDIR/pics/inline/*.*

> $QPEDIR/src/libraries/qtopia/inlinepics_p.h

出了錯誤,重新操作一遍這一步,再查看inlinepics_p.h,發現正常了,要繼續交叉編譯qtopia:

make clean

./configure –platform linux-arm-g++

『伍』 QT 5.2.1 編譯ANDROID 問題

情況,之前電腦安裝Qt5.1.0 msvc2012正常運行,都可以用,後來安裝了Qt5.2.0 for Android 發現Qt5.1.0 msvc2012就不能編譯任何東西了,但是Qt5.2.0 for Android卻可以編譯桌面應用,另外vs2012卻可以正常運行。
網上找到方法都不能解決,說什麼添加環境變數啊之類的
錯誤圖片如下:
偶爾構建時到這樣就不動了:
最經常是出現如下:
Plain Text code
jom: xx\Makefile.Debug [debug\main.obj] Error 2
jom: xx\Makefile [debug] Error 2
09:34:23: 進程"D:\Qt\Qt5.2.1_vc2012\Tools\QtCreator\bin\jom.exe"退出,退出代碼 2 。
Error while building/deploying project untitled (kit: Desktop Qt 5.2.1 MSVC2012 32bit)
當執行步驟 'Make'時
09:34:23: Elapsed time: 00:01.
在把使用jom代替nmake的勾去掉後,編譯錯誤如下:
NMAKE : fatal error U1077: 「"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cl.EXE"」: 返回代碼「0xc0000135」
Stop.
NMAKE : fatal error U1077: 「"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\nmake.exe"」: 返回代碼「0x2」
Stop.
09:38:27: 進程"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\nmake.exe"退出,退出代碼 2 。
Error while building/deploying project untitled (kit: Desktop Qt 5.2.1 MSVC2012 32bit)
當執行步驟 'Make'時
09:38:27: Elapsed time: 00:01.eclispse如何運行C?哥哥救救make: *** 沒有指明目標並且找不到 makefile。 停止。????ubuntu下編譯ACE-6.2.0windows下makefile編寫問題關於linux makefile的問題關於linux編程的菜鳥問題大俠幫忙改個makefile文件能支持交叉編譯第一步就遇到問題,makefile不知道怎麼回事了

『陸』 linux 驅動程序中錯誤 ERROR: "__aeabi_d2uiz"

編譯內核出現的錯誤基本不是內核的問題,通常修改內核源碼不是好辦法,你這個錯誤應該是
交叉編譯
工具和內核配置不兼容導致的,就這個錯誤
應該是你
的編譯工具不支持這些浮點指令,可以搜蠢通過配置內核關掉浮點,或者找到支持浮點的編譯工具鏈,
在製作交叉編譯工歷純具連
./
configure
後面可以加參肢漏咐數指定浮點。
全部手打,希望對您有幫助。

『柒』 cmake 交叉編譯 libwebsockets

1、確定arm-linux-gcc裝好了,如下:
[root@localhost hello1]# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl= --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux甫攻顛紀郯慌奠葦訂倆-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

2、編譯hello world是老是提醒arm-linux-gcc -c不存在 如下:
[root@localhost hello1]# make
arm-linux-gcc-c hello.c
make: arm-linux-gcc-c:命令未找到
make: *** [hello.o] 錯誤 127

請教是什麼原因??
安裝linux和
gcc cmake make

熱點內容
python時間毫秒數 發布:2025-02-05 20:51:32 瀏覽:329
clash安卓如何切換節點 發布:2025-02-05 20:48:20 瀏覽:889
怎樣能用到方舟編譯器 發布:2025-02-05 20:47:04 瀏覽:366
資料庫的演算法 發布:2025-02-05 20:25:32 瀏覽:859
微信解壓異常 發布:2025-02-05 20:24:39 瀏覽:493
linux0位元組文件夾 發布:2025-02-05 20:23:07 瀏覽:652
專題的腳本怎麼寫 發布:2025-02-05 20:19:18 瀏覽:923
獨立站買什麼伺服器 發布:2025-02-05 20:13:24 瀏覽:296
android鬧鍾設置 發布:2025-02-05 20:12:29 瀏覽:955
計算機代碼經典編程 發布:2025-02-05 19:25:09 瀏覽:757