gcc和arm-linux-gcc默認頭文件庫搜索路徑


原文:https://blog.csdn.net/chosen0ne/article/details/7210946

參考:

GCC

          https://blog.csdn.net/qq_22054285/article/details/86674737

          https://blog.csdn.net/qq_21870763/article/details/51760276?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

          https://blog.csdn.net/u012247418/article/details/79776297

         https://blog.csdn.net/yasi_xi/article/details/10590263?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

         https://blog.csdn.net/shiyongyue/article/details/77866950?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

ARM-linux-GCC

        https://blog.csdn.net/MingLLu/article/details/50161901?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

        http://blog.sina.com.cn/s/blog_14f1cd81a0102x8ae.html

        https://www.cnblogs.com/kelamoyujuzhen/p/9411002.html

        https://bbs.csdn.net/topics/390834462

 

GCC常見編譯錯誤:https://blog.csdn.net/aquester/article/details/51861439

交叉編譯鏈詳解:https://www.cnblogs.com/coolYuan/p/9037660.html

交叉編譯鏈庫的添加:https://www.linuxidc.com/Linux/2011-09/42826.htm

交叉編譯解決頭文件與庫文件依賴問題:https://blog.csdn.net/yk150915/article/details/78813374

交叉編譯庫依賴問題的解決辦法 https://blog.csdn.net/openblog/article/details/7449991?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

 

 一、GCC

gcc編譯時查找頭文件,按照以下路徑順序查找:

1. gcc編譯時,可以設置-I選項以指定頭文件的搜索路徑,如果指定多個路徑,則按照順序依次查找。比如,

gcc -I /usr/local/include/node a.c
2. gcc會查找環境變量C_INCLUDE_PATH,CPLUS_INCLUDE_PATH中指定的路徑。

3. 系統默認的路徑,分別是/usr/include,/usr/local/include,/usr/lib/gcc-lib/i386-linux/2.95.2/include(gcc庫文件的路徑,各個系統不一致)。

4.<sys/頭文件名>。如<sys/io.h>,<net/ethernet.h>等。其中,前面的字符串(如sys,net)表示標准路徑下的文件夾名,后面的字符串(如io.h,ethernet.h),表示在linux標准路徑下的各文件夾下的頭文件名,如sys文件夾下的io.h文件,即我們可以在/usr/include/sys目錄下發現io.h文件。

5.如果想在指定路徑下檢索頭文件,可加選項-I。如我的/home/Desktop目錄下有個頭文件local1.h,在編譯包含local1.h的test.c文件時,可用:gcc test.c -o test -I /root/Desktop。

 

二、arm-linux-gcc

默認搜索路徑其實就是編譯器的安裝路徑

我的頭文件搜索路徑在/zjk/software/arm-linux-gcc4.4.3/opt/FriendlyARM/toolschain/4.4.3/lib/gcc/arm-none-linux-gnueabi/4.4.3/include

庫文件在:/zjk/software/arm-linux-gcc4.4.3/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib

注意:頭文件不是4.4.3目錄下的include,而是lib中......的路徑

          庫文件不是4.4.3目錄下的lib,而是arm-none-linux-gnueabi下的lib

可以在編譯的時候添加-l 設置默認搜索路徑(L小寫)


 參考韋東山相關文檔添加freetype開源庫

交叉編譯:
tar xjf freetype-2.4.10.tar.bz2
./configure --host=arm-linux
make
make DESTDIR=$PWD/tmp install

編譯出來的頭文件應該放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

編譯出來的庫文件應該放入:
/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib

把tmp/usr/local/lib/* 復制到 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
sudo cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf
cp *so* /work/nfs_root/fs_mini_mdev_new/lib -d

把tmp/usr/local/include/* 復制到 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
cp * /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf
cd /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM