Linux下沒有包含頭文件(不知是哪個)導致編譯無法通過的解決心得

最近寫程序的時候編譯出錯了,提示信息為:invalid use of undefined type 'fb_var_screeninfo'。顯示根據英文知道是沒有定義 'fb_var_screeninfo'這個類型,明顯是缺少了某個頭文件,但是缺少哪個頭文件以及有什么又快又好的解決方法呢?

首先,到我們的交叉編譯工具鏈目錄下,我使用的是arm-2009q3(cd /usr/local/arm/arm-2009q3/),怎么知道這個路徑呢?這個一般都添加在你的環境變量下了,我們輸入echo $PATH可得到如下信息,/usr/local/arm/arm-2009q3/bin就是我們添加到環境變量里的交叉編譯工具

然后我們在交叉編譯工具鏈里面用grep "fb_var_screeninfo" * -nR查找,結果如下圖,找出了是在linux/fb.h文件里定義了該類型,我們要找的頭文件就是linux/fb.h,所以,在我們的程序開始部分添加#include <linux/fb.h>即可解決問題。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/384538.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/384538.shtml
英文地址,請注明出處:http://en.pswp.cn/news/384538.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gcc編譯缺少數學庫

Linux下編譯出現以下提示可以在編譯的后面加上-lm&#xff0c;例如&#xff0c;arm-none-linux-gnueabi-gcc -o example1 example1.c -lm&#xff0c;意思就是添加數學庫的意思&#xff0c;編譯就能通過了 example1.c:(.text0x3e8): undefined reference to cos example1.c:(.…

Linux編譯程序時加-I指定頭文件位置

Linux下編譯出現以下錯誤&#xff0c;錯誤的原因是在/usr/local/arm/arm-2009q3/bin/../arm-none-linux-gnueabi/libc/usr/include/freetype/config/下找不到ftheader.h&#xff0c;而我到該目錄下看&#xff0c;發現路徑是這樣的rootubuntu:/usr/local/arm/arm-2009q3/arm-non…

樹莓派遠程監控的實現

原文&#xff1a;https://blog.csdn.net/ayz123456/article/details/79252923 http://shumeipai.nxez.com/2016/09/01/raspberry-pi-motion-cameras-for-remote-monitoring.html https://blog.csdn.net/wto882dim/article/details/82195001 https://blog.csdn.net/qq_3950082…

公網訪問樹莓派

公網訪問樹莓派控制小車 上篇已經介紹了小車在局域網中的控制方法&#xff0c;比較簡單&#xff0c;既然是遠程遙控那就要能夠進行公網訪問&#xff0c;使得你的小車可以在任何有網絡的地方都能訪問到&#xff0c;并且后續還會加上攝像頭&#xff0c;進行實時監控&#xff0c;想…

關于對象的引用作為參數,可以直接訪問私有成員的問題

#include using namespace std; class CPoint { public:CPoint(int xx, int yy){x xx;y yy;}CPoint(const CPoint &p){x p.x;y p.y;} private:int x, y; };首先&#xff0c;我們來看一個例子&#xff0c;在CPoint這個類中定義了兩個構造函數&#xff0c;第一個為普通的…

僵死進程的產生以及解決辦法

本文參考自&#xff1a;https://baike.baidu.com/item/%E5%83%B5%E5%B0%B8%E8%BF%9B%E7%A8%8B/1036577?fraladdin 一個進程在調用exit命令結束自己的生命的時候&#xff0c;其實它并沒有真正的被銷毀&#xff0c;而是留下一個稱為僵尸進程&#xff08;Zombie&#xff09;的數據…

樹莓派第一次開機自動連接WIFI(不用顯示屏方法)

當我們把樹莓派系統鏡像燒錄到SD卡之后&#xff0c;我們在windows看到的TF卡變成了空間很小的名為boot的盤&#xff0c;我們在此目錄下新建一個名為wpa_supplicant.conf空白文件&#xff0c;并在其中加入以下代碼: countryGB ctrl_interfaceDIR/var/run/wpa_supplicant GROUPn…

樹莓派設置靜態IP的好處與壞處

網上后很多資源教初學者如何設置靜態IP&#xff0c;但我覺得設置靜態IP也有不好的地方&#xff1a; 首先&#xff0c;好處就是樹莓派的IP不會變&#xff0c;例如你設置了無線連接方式的靜態IP為192.168.1.110&#xff0c;那么無論你連接哪個路由器&#xff0c;或者連接同一個路…

關于源文件用不同的編碼方式編寫,會導致執行結果不一樣的現象及解決方法

如果我們編寫以下程序&#xff0c;并分別另存為ANSI和UTF-8兩種不同的編碼方式保存&#xff0c;放到Linux下編譯并運行如下圖&#xff0c;兩端相同的程序以不同的編碼方式保存編譯后的運行結果不一樣&#xff0c;./ansi采用ANSI編碼方式&#xff0c;會自動采用GBK方式來保存中文…

引入寬字符error: converting to execution character set: Invalid or incomplete multibyte or wide character

版權聲明&#xff1a;本文為博主原創文章&#xff0c;遵循 CC 4.0 by-sa 版權協議&#xff0c;轉載請附上原文出處鏈接和本聲明。 本文鏈接&#xff1a;https://blog.csdn.net/qq_26093511/article/details/60593240 交叉編譯.c文件&#xff0c;遇到如下問題 arm-linux-gcc -o…

linux交叉編譯時報錯:file not recognized: File format not recognized

版權聲明&#xff1a;本文為博主原創文章&#xff0c;遵循 CC 4.0 by-sa 版權協議&#xff0c;轉載請附上原文出處鏈接和本聲明。 本文鏈接&#xff1a;https://blog.csdn.net/u011113596/article/details/80325081 今天交叉編譯sqlite3&#xff0c;make的時候報錯&#xff1a;…

arm-linux-gcc靜態編譯和動態編譯的區別

很多教程會提到加上-static是靜態編譯&#xff0c;但對于新手來說沒有用例子來說明可能不太好理解&#xff0c;今天我就介紹一下關于這方面知識的一個例子&#xff1a; 最近在做一個關于freetype字體的東西&#xff0c;需要依賴freetype官方提供的庫&#xff0c;我已經把電腦這…

從0到1寫RT-Thread內核——線程定義及切換的實現

從0寫RT-Thread內核之線程定義及切換的實現具體可以分為以下六步來實現 一&#xff1a;分別定義線程棧、線程函數、線程控制塊&#xff1b; ALIGN(RT_ALIGN_SIZE)//設置4字節對齊 /* 定義線程棧 */ rt_uint8_t rt_flag1_thread_stack[512]; rt_uint8_t rt_flag2_thread_stack…

從0到1寫RT-Thread內核——臨界段的保護

臨界段就是一段在執行的時候不能被中斷的代碼段&#xff0c;在RT-Thread里&#xff0c;臨界段最常出現的就是對全局變量的操作&#xff08;類似Linux下的鎖&#xff09;。RT-Thread對臨界段的保護是直接把中斷全部關了&#xff0c;NMI FAULT和硬FAULT除外。下圖是3個關于中斷屏…

從0到1寫RT-Thread內核——空閑線程與阻塞延時的實現

在之前寫的另外一篇文章——<從0到1寫RT-Thread內核——線程定義及切換的實現>中線程體內的延時使用的是軟件延時&#xff0c;即還是讓CPU空等來達到延時的效果。RTOS中的延時叫阻塞延時&#xff0c;即線程需要延時的時候&#xff0c;線程會放棄CPU的使用權&#xff0c;C…

從0到1寫RT-Thread內核——支持多優先級

在本章之前&#xff0c;RT-Thread還沒有支持多優先級&#xff0c;我們手動指定了第一個運行的線程&#xff0c;并在此之后三個線程&#xff08;包括空閑線程&#xff09;互相切換&#xff0c;在本章中我們加入優先級的功能&#xff0c;第一個運行的程序是就緒列表里優先級最高的…

Linux串口阻塞與非阻塞

Linux串口編程的阻塞與否可以在open函數中設置&#xff0c;例如&#xff1a; 打開時使用&#xff1a; fd open(USAR1, O_RDWR | O_NOCTTY );//阻塞式讀寫fd open("/dev/ttyAT2",O_RDWR|O_NOCTTY|O_NDELAY); //非阻塞讀寫 除了用open函數之外還可以在open函數之…

vi中如何實現批量替換

將文件tihuan&#xff08;假設此文本中字符a&#xff09;中的所有字符a換成字符w&#xff0c;其命令為&#xff1a; 1。vi tihuan 2。按esc鍵 3。按shift&#xff1a; 4。在&#xff1a;后輸入 %s/a/w/g 其中s為&#xff1a;substitute&#xff0c;%表示所有行&#xff0c;…

C++里數組名+1和數組名的地址+1的區別

C/C里面的數組名字會退化為指針&#xff0c;所以數組名a實際指的是數組的第一個元素的地址。而數組名作為指針來講有特殊性&#xff0c;它正在它所指向的內存區域中&#xff0c;&a的值和a的數值是相同的&#xff08;可以輸出觀察一下&#xff09;&#xff0c;但是類型和意義…