91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全志Android源碼內(nèi)核新增配置編譯報(bào)錯(cuò)解決

jf_44130326 ? 來(lái)源:Linux1024 ? 2026-01-30 16:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

linux內(nèi)核配置時(shí),會(huì)發(fā)現(xiàn)報(bào)各種各樣的錯(cuò),在使用過(guò)程中源碼是沒(méi)有問(wèn)題的,就因?yàn)樵黾恿四硞€(gè)功能,按理來(lái)說(shuō)增減配置不會(huì)對(duì)系統(tǒng)有太大的影響,可能每個(gè)廠家維護(hù)的代碼有自己的風(fēng)格和差異。

下面還原這個(gè)報(bào)錯(cuò):

執(zhí)行make menuconfig后敲問(wèn)號(hào)搜尋配置路徑

wKgZO2kaoBmAGPJ7AAGDp24TaJw445.png

我這里配置啟用perf

重新編譯會(huì)出現(xiàn),這里出現(xiàn)很多需要配置的,如果不熟悉的話很難選擇正確,因?yàn)楣俜揭呀?jīng)針對(duì)方案進(jìn)行了配置:

wKgZO2kaoBqABR3oAANPCvVgexE568.png

如果只敲回車(chē)不選擇或者選擇錯(cuò)了,最后編譯如下,即使make clean也是一樣的結(jié)果:

wKgZO2kaoBqAa1ViAAJQUkrH1ss072.png

最終解決這個(gè)問(wèn)題的關(guān)鍵是在內(nèi)核路徑執(zhí)行make distclean,清除所有編譯生成的結(jié)果,才會(huì)出現(xiàn)使用默認(rèn)配置

wKgZO2kaoBqAaWBJAAFLjifl0y4225.png

最終編譯成功:

wKgZO2kaoBuAdkeIAAE2jGW0XxU922.png

下面分享一些linux編譯容易出錯(cuò)的問(wèn)題以及大致的解決思路:

在Linux環(huán)境下編譯程序時(shí),可能會(huì)遇到各種問(wèn)題。以下是一些常見(jiàn)的Linux編譯錯(cuò)誤及其解決路徑:

1. 頭文件缺失或包含路徑不正確:

問(wèn)題表現(xiàn)**:編譯器提示找不到某個(gè)頭文件。

解決路徑**:確保所有需要的頭文件已安裝,并通過(guò)`-I/path/to/includes`參數(shù)指定正確的包含路徑。

2. 符號(hào)未定義:

問(wèn)題表現(xiàn):鏈接階段出現(xiàn)`undefined reference to function XYZ`錯(cuò)誤。

解決路徑:檢查是否遺漏了庫(kù)文件的鏈接,使用`-llibraryname`選項(xiàng)鏈接所需的庫(kù)(例如 `-lmylib`),同時(shí)可能需要 `-L/path/to/library` 來(lái)指定庫(kù)文件所在目錄。

3. 結(jié)構(gòu)體、聯(lián)合體等類(lèi)型定義缺失:

問(wèn)題表現(xiàn):類(lèi)似“sem_union存儲(chǔ)大小未知”這樣的錯(cuò)誤。

解決路徑:如果系統(tǒng)不再提供某個(gè)類(lèi)型,需要按照文檔或者源碼要求自行定義這個(gè)類(lèi)型。

4. C++相關(guān)問(wèn)題:

缺少標(biāo)準(zhǔn)庫(kù)包含:如沒(méi)有包含`iostream`或`string`頭文件。

命名空間問(wèn)題:未使用`std::`前綴引用標(biāo)準(zhǔn)庫(kù)對(duì)象。

編譯器選擇:使用`gcc`編譯C++代碼而不是`g++`,導(dǎo)致鏈接問(wèn)題。

解決路徑:確保正確包含頭文件,使用適當(dāng)命名空間,并用`g++`編譯C++源文件。

5. 動(dòng)態(tài)庫(kù)查找路徑問(wèn)題:

問(wèn)題表現(xiàn):運(yùn)行時(shí)找不到動(dòng)態(tài)庫(kù)。

解決路徑:將動(dòng)態(tài)庫(kù)路徑添加到`/etc/ld.so.conf`或設(shè)置環(huán)境變量`LD_LIBRARY_PATH`指向動(dòng)態(tài)庫(kù)所在的目錄。

6. 內(nèi)核模塊編譯問(wèn)題:

內(nèi)核配置不正確:編譯內(nèi)核模塊時(shí),需確保內(nèi)核配置與模塊匹配。

依賴(lài)性問(wèn)題:確認(rèn)驅(qū)動(dòng)程序所需的內(nèi)核特性已開(kāi)啟。

7. 編碼格式問(wèn)題:

源代碼亂碼:跨平臺(tái)轉(zhuǎn)移代碼時(shí),可能因編碼格式不同造成亂碼。

解決路徑:統(tǒng)一源碼文件的編碼格式,例如在Linux下通常使用UTF-8編碼。

8. 權(quán)限問(wèn)題:

執(zhí)行文件權(quán)限不足:無(wú)法啟動(dòng)服務(wù)或運(yùn)行程序。

解決路徑:檢查用戶(hù)和組權(quán)限,必要時(shí)以root身份或相應(yīng)用戶(hù)組重新安裝或啟動(dòng)服務(wù)。

9. Makefile或構(gòu)建腳本錯(cuò)誤:

問(wèn)題表現(xiàn):make過(guò)程中報(bào)錯(cuò),可能是依賴(lài)關(guān)系設(shè)置不當(dāng)或命令行參數(shù)有誤。

解決路徑:審查并修正Makefile規(guī)則,確保編譯命令和鏈接命令正確無(wú)誤。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    4026

    瀏覽量

    134042
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    4

    文章

    1468

    瀏覽量

    42891
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    685

    瀏覽量

    31337
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    SINA210-編譯Android系統(tǒng)

    后進(jìn)行配置輸入命令:make smdkv210single_config3.配置完進(jìn)行編譯輸入命令:make4.編譯完成后,在該目錄下,生成燒寫(xiě)文件u-boot.bin(二)
    發(fā)表于 05-24 15:15

    iTOP4412開(kāi)發(fā)板Android4.4源碼編譯分享

    注意:本小節(jié),介紹的源碼指的是“20170803”以及后續(xù)新增源碼。5.4.1.1 uboot 的編譯Android4.4.4 對(duì)應(yīng) ub
    發(fā)表于 06-20 11:09

    4418開(kāi)發(fā)板Android源碼整體&單獨(dú)編譯

    內(nèi)核缺省文件配置之后,Android 目錄,運(yùn)行一鍵編譯腳本“build_android.sh”,如下圖所示。注意:本篇文章基于iTOP-4
    發(fā)表于 12-18 10:10

    香橙派芯片開(kāi)發(fā)板下載交叉編譯工具鏈說(shuō)明

    香橙派開(kāi)發(fā)板以處理器分類(lèi),包含H2、H3、H5、
    發(fā)表于 10-21 17:35

    Linux內(nèi)核配置編譯

    、android-patch.tgz、arm-2009q3.tar.bz2系統(tǒng)源碼壓縮包【注意】虛擬機(jī)安裝分配硬盤(pán)內(nèi)存應(yīng)當(dāng)50G以上。Linux內(nèi)核配置編譯將系統(tǒng)
    發(fā)表于 11-04 07:31

    RK3288 android7.1.2 內(nèi)核極其源碼編譯過(guò)程是怎樣的步驟?

    RK3288 android7.1.2 內(nèi)核極其源碼編譯過(guò)程是怎樣的步驟?
    發(fā)表于 03-03 07:21

    XR806適配最新鴻蒙3.0_LTS

    編譯選項(xiàng)編譯依舊報(bào)錯(cuò)。。。提示asmflags重復(fù)了,這個(gè)本身的代碼中定義了一個(gè)asmflags在舊系統(tǒng)中沒(méi)有
    發(fā)表于 03-14 16:23

    V853開(kāi)發(fā)板試用】編譯 Tina Linux部分之buildroot 編譯

    繼【V853開(kāi)發(fā)板試用】編譯 Tina Linux部分之openWrt 編譯之后,開(kāi)始buildroot 編譯buildroot 的
    發(fā)表于 09-01 22:57

    Android內(nèi)核編譯教程

    標(biāo)準(zhǔn)的Linux開(kāi)發(fā)流程一樣,Android平臺(tái)開(kāi)發(fā)的一個(gè)很重要的基礎(chǔ)工作就是對(duì)其內(nèi)核編譯和移植。本文結(jié)合Android的開(kāi)發(fā)文檔以及本人的實(shí)踐經(jīng)驗(yàn),簡(jiǎn)單介紹了
    發(fā)表于 06-22 09:11 ?93次下載

    編譯內(nèi)核詳細(xì)配置

    編譯內(nèi)核詳細(xì)配置
    發(fā)表于 10-30 10:04 ?11次下載
    <b class='flag-5'>編譯</b><b class='flag-5'>內(nèi)核</b>詳細(xì)<b class='flag-5'>配置</b>

    Google Android的操作系統(tǒng)內(nèi)核編譯圖文教程

    和標(biāo)準(zhǔn)的 Linux開(kāi)發(fā)流程一樣, Android平臺(tái)開(kāi)發(fā)的一個(gè)很重要的基礎(chǔ)工作就是對(duì)其內(nèi)核編譯和移植。本文結(jié)合 Android的開(kāi)發(fā)文檔以及本人的實(shí)踐經(jīng)驗(yàn),簡(jiǎn)單介紹了
    發(fā)表于 03-11 11:35 ?10次下載

    嵌入式Linux的內(nèi)核編譯

    編譯工具鏈,在此就不再贅述。編寫(xiě)Linux內(nèi)核需要內(nèi)核源碼內(nèi)核編譯
    發(fā)表于 11-01 17:07 ?19次下載
    嵌入式Linux的<b class='flag-5'>內(nèi)核</b><b class='flag-5'>編譯</b>

    STM32MP157 Linux系統(tǒng)移植開(kāi)發(fā)篇8:Linux內(nèi)核配置方法及編譯

    Linux內(nèi)核配置編譯解壓內(nèi)核建立源碼目錄該目錄下以patch結(jié)尾的文件為ST官方提供的補(bǔ)丁文件,linux-5.4.31.tar.xz為標(biāo)準(zhǔn)linux
    發(fā)表于 12-04 21:06 ?9次下載
    STM32MP157 Linux系統(tǒng)移植開(kāi)發(fā)篇8:Linux<b class='flag-5'>內(nèi)核配置</b>方法及<b class='flag-5'>編譯</b>

    AOSP Android11系統(tǒng)源碼內(nèi)核源碼簡(jiǎn)析

    AOSP源碼中并不包括內(nèi)核源碼,需要單獨(dú)下載,內(nèi)核源碼有很多版本,比如common是通用的Linux內(nèi)核
    的頭像 發(fā)表于 01-29 09:25 ?7517次閱讀

    基于Android13的AOSP源碼下載及編譯指南

    AOSP(Android Open Source Project)是Android操作系統(tǒng)的開(kāi)源項(xiàng)目,通過(guò)下載和編譯AOSP源碼,您可以獲得原始的A
    的頭像 發(fā)表于 01-17 09:49 ?7507次閱讀
    基于<b class='flag-5'>Android</b>13的AOSP<b class='flag-5'>源碼</b>下載及<b class='flag-5'>編譯</b>指南