在Ubuntu下編譯wpa supplicant

2021-09-07 07:29:59 字數 1291 閱讀 7664

最近在研究wifi聯盟的多屏互動協議miracast,其中需要用到wpa_supplicant,編譯中遇到了一些問題,經過一下午的折騰也都解決了,下面分享給各位。

一、編譯需要用到三個庫原始碼包,分別是wpa_supplicant, openssl, libnl

1. 編譯libnl. 

1.1 tar zxvf libnl-1.1.tar.gz 解壓源**包。進入libnl1.1目錄,執行 ./configure 配置編譯環境;

1.2 執行make進行編譯,這時會報出編譯錯誤:「../include/netlink_local.h:218:error 'ulong_max' undeclared",我們在對應檔案新增乙個標頭檔案 #include即可解決問題;

1.3 再次編譯通過,執行sudo make install,libnl.so會被安裝至/usr/local/lib/目錄下,相應的標頭檔案也會被copy到/usr/local/include/netlink下。

2. 編譯openssl

2.1進入openssl目錄,執行make進行編譯,完成後執行make install,編譯好的openssl庫和標頭檔案等被安裝在目錄/usr/local/ssl下

3. 編譯wpa_supplicant

3.1 進入hostapd/wpa_supplicant目錄,首先執行cp defconfig .config 拷貝生成編譯配置

3.2 修改配置檔案 .config,在"#uncomment following two linee and fix..."下增加如下語句,用來新增openssl和libnl的標頭檔案和庫檔案目錄,更新編譯鏈結環境變數

cflags += -i/usr/local/ssl/include

cflags += -i/usr/local/include/netlink

libs += -l/usr/local/ssl/lib

libs += -l/usr/local/lib

libs_p += -l/usr/local/ssl/lib

3.3 執行make進行編譯,成功後生成三個目標檔案wpa_supplicant, wpa_cli, wpa_passphrase,至此編譯完成。

在Ubuntu下編譯FFMPEG

在之前,我們成功地使用mingw msys在windows平台下編譯ffmpeg,並生成了ffplay.exe。現在再在ubuntu平台上重新編譯一次。相對於在windows平台上編譯需要的曠日持久而且異常艱難的工作,ubuntu上編譯ffmpeg可謂是非常輕鬆簡單的,幾條簡單的命令就可以輕鬆完成。...

在ubuntu下編譯ruby

編譯環境不多說了,其實ruby不怎麼要求,基本上 quote sudo apt get install build essential quote 就差不多了。要注意一般是需要ssl和readline的類庫。quote sudo apt get install libreadline5 dev li...

在ubuntu下編譯安裝ibus

在ubuntu下由於scim輸入法令我的netbean經常會無法輸入,放棄之。阿寶同學就介紹了ibus輸入法給我,說說安裝及使用感受。由於ubuntu.org.cn源慢到受不了,無法直接用apt get的方法安裝,於是自己從ibus的原始碼處,編譯並打了乙個deb包安裝了一下。編譯和打包參考這篇文章...