1. 程式人生 > >程式使用uci介面時沒有uci.h的解決方法

程式使用uci介面時沒有uci.h的解決方法

轉自http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28413840&id=4283561

最近做的工作用openwrt SDK開發,其中有一部分C語言讀資料我們用LUA for C API ,直接在標頭檔案中像下面這樣寫會有問題


  1. #include <uci.h>

編譯時會出現錯誤如下:

  1. xxx.c:(.text+0x1f8): undefined reference to `uci_alloc_context'
  2. xxx.c:(.text+0x210): undefined reference to `uci_lookup_ptr'

  3. xxx.c:(.text+0x228): undefined reference to `uci_perror'
  4. xxx.c:(.text+0x270): undefined reference to `uci_free_context

解決方法是在src/Makefile中新增如下選項:

  1. -luci
同時在package/youapp/Makefile的

  1. define Package/ddns_update
  2. ...
  3. ...
  4. endef

段中新增如下程式碼:

  1. DEPENDS:=+libuci
以上為解決方案,同時如果編譯遇到怪癖的問題請檢查以下兩點
1、是否在這份程式碼中使用root身份做了什麼?

PS:如果那樣的話貌似編譯器都找不到交叉編譯的庫在哪裡,甚至會告訴你openwrt-linux-gcc未找到
2、是否有從別處複製貼上過來的程式碼?
PS:如果有的話,請確認一下是不是原來的程式碼中的Tab到你的程式碼裡變成了4個或者8個空格?

相關推薦

程式使用uci介面沒有uci.h解決方法

轉自http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28413840&id=4283561 最近做的工作用openwrt SDK開發,其中有一部分C語言讀資料我們用LUA for C API

程式異常退出且沒有任何coredump解決方法

如果程式異常退出而且沒有任何資訊,我們應該怎樣做呢?我們可以attach到某個工作程序或者執行緒,之後同時對exit和_exit設定斷點。之後對程式發壓,如果程式出現異常,我們可能看到出現問題的堆疊。最近測試一個新寫的模組,程式也異常退出了,沒有任何的core資訊,利用上面的

[轉] linux下shell中使用上下鍵翻出歷史命名出現^[[A^[[A^[[A^[[B^[[B的問題解決,Linux使用退格鍵出現^H解決方法

XA TP brk 因此 上下 參數 csdn def 無法 [From] https://www.zmrbk.com/post-2030.html https://blog.csdn.net/suifengshiyu/article/details/40952771

Linux使用退格鍵出現^H ^?解決方法

ID csdn 方法 內容 inux http lin 執行 backspace 學習源頭: https://blog.csdn.net/u013907239/article/details/74898123 Linux使用退格鍵時出現^H ^?解決方法 在linux下執行

winform程式關閉介面彈出提示框

void Form1_FormClosing(object sender, FormClosingEventArgs e){ if (MessageBox.Show( "視窗關閉後,資料即將丟失!是否現在關閉視窗", "提示", Mes

[經驗總結] 從其它sheet頁引用資料生成圖表沒有圖例的解決辦法

1、先給出一個在有資料區域的sheet頁中生成的圖表,比較全,圖表和圖例全部都有,如下圖:   2、但是如果在其它 sheet頁中引用該有資料的sheet資料時並生成圖表,生成的圖表只有圖表區域顯示,圖例區域並不直接顯示出來,就會讓給人造成這個完整圖表不知道是具體哪些專案的走勢圖,下面給出引

微信小程式介面報錯47001的解決方法

使用微信小程式碼的生成介面,發現死活都報47001錯誤。 有人提到是urlencode的問題,不能使用urlencode。 修改了程式碼,可以了。程式碼貼出來: import urllib.request import urllib.parse import json #這個是微信獲取小程

VS中Debug版程式執行正常但Release版執行控制元件有異常(控制元件在執行消失)的解決方法

#問題 首先用VS生成應用程式是正常的,然後點選最小化按鈕隱藏到下方工作列,然後再點選工作列這個圖示將應用程式還原出來,結果還原出來後應用程式下方的控制元件都無法顯示出來,這是release版本的,de

win10程式最小化後任務欄沒有顯示的解決方法

通常情況下我們會在電腦開啟很多應用程式,當我們暫時不需要使用的時候我們會將它最小化,最小化後會以縮圖的形式出現在工作列中,等我們有需要的時候再開啟就行。但是今天用電腦時發現將程式最小化之後工作列中卻看不到程式的最小化視窗(注意為win10作業系統),這樣使用帶來非常的不方便,那麼為什麼會出現這種情況呢?經研究

Kafka producer程式本地執行傳送資訊失敗解決方案

今天執行kafka本地producer程式時,總是傳送資訊失敗,經過查閱資料,最終發現是kafka叢集的配置問題。 kafka 叢集broker : broker1:9092,broker2:9092 配置解析: config/server.properties檔案中有幾個

應用程式中嵌入的網頁執行出現“指令碼錯誤”解決方法

 CComPtr<IWebBrowser2> pWB2;  HRESULT hr;  hr = m_wndIE.QueryControl(&pWB2);  if (pWB2)  {   CComVariant v;   CComBSTR url(

VS2012在執行C++Win32程式出現一閃而過的解決方法

在使用VS2012執行C++Win32程式時,在執行時會出現一閃而過的情況,解決辦法就是:  在_tmain()函式的return 句之前加上:getchar(); 這是目前我試驗後可行的方法,如果有更好的解決方法,歡迎留言。 方法二:Ctrl+F5進行編譯。 有沒有知道為

安裝PyAudio 失敗,沒有portaudio.h 解決辦法

在linux下安裝PyAudio 時出現如下錯誤: ================================================================================ Collecting pyaudio   Using ca

Vagrant box ubuntu/xenial64 沒有密碼的解決方法

user 輸入 pass 需要 sha apt esc logs 內容 參考了Vagrant box ubuntu/xenial64 の ubuntuユーザ の passwordについて 1. 可以通過 Git Bash 使用 vagrant ssh 登錄到Ubunt

Spring MVC中傳遞json數據顯示415錯誤解決方法

ping 數據 value 解決方法 傳遞 ica ons pub eth 在ajax中設置 ContentType為‘application/json;charset=utf-8‘ 傳遞的data類型必須是json字符串類型:{“key”:"va

Ubuntu中vi中插入模式使用方向鍵變為ABCD的解決方法

tin 解決 默認 tiny ins remove 方法 move ubuntu 1、卸載默認的vi(默認是vi tiny版本) sudo apt-get remove vim-common 2、卸載完成後重新安裝完整的vi sudo apt-get install

MyEclipse 打開到一半卡死的解決方法

技術 便是 一半 myeclipse 工作空間 plugins ins 重新 列表 如圖: 一直卡在這個地方動不了。 解決方法便是找到myeclipse的工作空間目錄下\.metadata\.plugins 找到列表下帶workbench的文件夾,並刪除。然後重新啟動My

maven測試中文亂碼問題解決方法

group 控制 blog XML 最新版 插件 Coding 亂碼問題 pom pom.xml增加-Dfile.encoding=UTF-8配置,如下: 1 <plugin> 2 <!--升級

關於zabbix 監控出錯的問題解決方法

zabbix監控系統中問題Received empty response from Zabbix Agent at [192.168.200.202]. Assuming that agent dropped connection 這種情況是因為你zabbix_agentd.conf中指定錯誤的serve

Microsoft Offices 2010/2016版Excel使用鼠標滾輪變縮放解決方法

office使用小技巧故障現象: 在EXCEL中使用鼠標滾輪時是縮放無法向上或下移動單元格。解決方法:打開EXCEL,選擇文件,-->選項,-->高級,找到用智能鼠標縮放,把前面的勾取消掉,自此操作完成。Microsoft Offices 2010/2016版Excel使用鼠標滾輪時變縮放解決方法