您的位置:

交叉编译配置移植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程序目录即可大功告成!