本文目錄一覽:
- 1、交叉編譯完的程序如何移植到友善之臂4412開發板?
- 2、交叉編譯移植時makefile怎麼寫
- 3、[求助][急!!]php和iconv庫交叉編譯的問題
- 4、apache在arm linux上的交叉編譯,移植
- 5、交叉編譯PHP問題,怎麼解決
- 6、如何在OPENWRT上安裝PHP
交叉編譯完的程序如何移植到友善之臂4412開發板?
首先,你要保證你編譯的程序使用的交叉編譯鏈是開發板支持的,例如arm-linux-4.3.2,一般是在虛擬機下面的linux系統下的/etc/profile裡面添加編譯鏈路徑;
接着,需要確保使用的內核是開發板目前使用的內核,一般MINI2440是使用linux-2.6.30版本的,這個要在程序的makefile文件裡面改;
還有,如果你使用靜態編譯方式文件會比較大,但是不用依賴庫,如果是用動態編譯,文件就比較小,但是依賴動態庫,如果放到開發板上運行提示缺少動態庫,就證明你沒有把動態庫放進開發板的/lib裡面,可以用ldd指令查看需要哪些庫;
最後,記住移植的方式可以使用NFS或者TFTP,U盤也可以,放到開發板上後必須在文件存放的當前目錄下./可執行文件,或者把文件放入/bin或者/sbin下面,就可以直接可執行文件,不用加./
你可以在程序裡面加些調試信息輸出,例如printf,以此證明有執行。
交叉編譯移植時makefile怎麼寫
在demo的makefile中添加相應等的文件就可以了,cpp文件相應的SRC,h文件的目錄要被包含進去,這樣就餓可以了,靜態庫的路徑要是絕對路徑!!!,這樣就可以變異通過了。
[求助][急!!]php和iconv庫交叉編譯的問題
可以在-with-iconv-dir= 後面接上你的iconv安裝路徑 比如 –with-iconv-dir=/usr/local/iconv
apache在arm linux上的交叉編譯,移植
當年做NAS方案的時候,我做過apche+php+mysql。
一般來說編譯apache都不是單單的編譯這個的,需要apache+php+libxml因為少了一個基本上配置apache很難辦,尤其是arm-linux的時候。一般都是先編譯apache然後不要install,編譯完後要拷貝一個php5到module目錄,然後開始配置和編譯php5。好了後再install apache。如果你要用mysql的話還要麻煩。
交叉編譯PHP問題,怎麼解決
因為目標板跟主機都是X86架構,正常來說,只要主機編譯通過並順利執行的程序,目標板應該也能順利,但這種不穩的方法,不妥當,於是決定還是為了心安,用交叉編譯工具來編譯程序
進入到php源代碼
CC=某某交叉編譯器 ./configure –prefix=/home/app/php –with-gd=/home/app/gd
gd我已經進行了交叉編譯,包含了jpeg,png,freetype等東西了,這裡就略帶了
按照我上面的配置,產生了一個錯誤
configure: error: GD build test failed cross compile
提示說找不到GD組建,於是重新確定了一下路徑有沒錯,那當然是沒錯的啦
於是去除了交叉編譯器
./configure –prefix=/home/app/php –with-gd=/home/app/gd
這樣的配置,就能如常執行下去
最後實在沒辦法了,看一下配置日誌
vi config.log
發現以下信息
warning: libjpeg.so.62, needed by /home/app/gd/lib/libgd.so, not found (try using -rpath or -rpath-link)
庫問題,雖然編譯了jpeg但是,交叉編譯器不懂去找這些庫,好吧,好人做到底,
find -name libjpeg.so.62 找出庫,拷貝到gd的安裝目錄下的 lib 文件夾
如何在OPENWRT上安裝PHP
安裝PHP
PMBLOG是一個簡單的靜態博客程序,只需要PHP,不需要數據庫的支持,這對於小內存小功耗的路由來說是再友好不過的。下面我就講講如何安裝PMBLOG。
首先我們需要下載PHP及其相關的一些擴展。
opkg update
opkg install php5 php5-cgi php5-mod-mcrypt php5-mod-curl php5-mod-hash php5-mod-json
配置PHP
編輯php.ini文件
vi /etc/php.ini
其中將
;extension = ctype.so
;extension = curl.so
;extension = hash.so
;extension = json.so
三個前面的;去掉,用以啟用擴展
並將;date.timezone =修改為date.timezone = Asia/Shanghai,並將;doc_root=”/www”修改為;doc_root=”/www/root”。
如果你沒有設置過系統時區的話還需要設置系統時區。打開LUCI界面,進入系統 – 系統屬性 – 基本設置中將時區改為Asia/Shanghai。
最後你需要安裝一個時區信息軟件包,否則系統無法識別時區。
opkg install zoneinfo-asia
uhttpd配置端口轉發
接着需要配置端口轉發。由於默認的是LUCI佔用80端口,但我比較喜歡80端口放網站,所以我將LUCI挪到了8080端口,而PHP則使用80端口。
vi /etc/config/uhttpd
將第5行的0.0.0.0:80修改為0.0.0.0:8080,
option rfc1918_filter 1這一句在前面加上#號注釋掉
同時在文件末尾增加如下代碼
config uhttpd web
list listen_http 0.0.0.0:80
option home /www/root
option cgi_prefix /cgi-bin
option index_page “index.html index.php”
list interpreter “.php=/usr/bin/php-cgi”
保存後重啟uhttpd
/etc/init.d/uhttpd restart
上傳PMBLOG程序
上傳PMBLOG程序到/www/root文件夾下,並按照HowToInstall的指導配置好config.php文件。
WEB訪問PMBLOG程序目錄即可大功告成!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/154605.html