本文目录一览:
- 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程序目录即可大功告成!