Chinaunix首页 | 论坛 | 博客
  • 博客访问: 172609
  • 博文数量: 39
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 214
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-21 11:10
文章分类

全部博文(39)

文章存档

2017年(6)

2016年(1)

2015年(6)

2014年(26)

我的朋友

分类: C/C++

2014-04-21 11:38:04

拿PHP的库php-5.2.9来说,先给出./configure的部分帮助信息:
php-5.2.9#./configure --hlep 
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
  --cache-file=FILE       cache test results in FILE
  --help                  print this message
  --no-create             do not create output files
  --quiet, --silent       do not print `checking...' messages
  --version               print the version of autoconf that created configure
Directory and file names:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]          最后编译完成后,安装的时候的目录,当这个指定完后,以下的一些安装目录默认就会是PREFIX/,注意有的lib库需要把bin安装到/usr/local/bin下的时候,就需要单独设置bindir=/usr/local/bin.
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [same as prefix]
  --bindir=DIR            user executables in DIR [EPREFIX/bin]
  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
  --datadir=DIR           read-only architecture-independent data in DIR
                          [PREFIX/share]
  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
                          [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
  --includedir=DIR        C header files in DIR [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
  --infodir=DIR           info documentation in DIR [PREFIX/info]
  --mandir=DIR            man documentation in DIR [PREFIX/man]
  --srcdir=DIR            find the sources in DIR [configure dir or ..]
  --program-prefix=PREFIX prepend PREFIX to installed program names
  --program-suffix=SUFFIX append SUFFIX to installed program names
  --program-transform-name=PROGRAM
                          run sed PROGRAM on installed program names
Host type:
  --build=BUILD           configure for building on BUILD [BUILD=HOST]
  --host=HOST             configure for HOST [guessed]
  --target=TARGET         configure for TARGET [TARGET=HOST]


给出交叉编译脚本:
CC=armv7-marvell-linux-uclibcgnueabi-gcc ./configure \CC=armv7-marvell-linux-uclibcgnueabi-gcc ./configure \
--host=armv7-marvell-linux-uclibcgnueabi  \
--prefix=/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002/ \
--without-pear \
--enable-fastcgi \
--enable-sockets \
--with-gd \
--with-config-file-path=/etc \
--without-iconv \
--enable-mbstring \
--without-pcre-regex \
--disable-filter   \
--disable-hash  \
--disable-json  \
--disable-mbregex  \
--disable-mbregex-backtrack \
--disable-pdo \
--disable-simplexml  \
--disable-spl    \
--without-sqlite \
--disable-tokenizer \
--disable-xml       \
--disable-xmlreader \
--disable-xmlwriter \
--with-png-dir=/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002 \
--with-libxml-dir=/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002

对于依赖的库,比如libxml2,在./configure 的时候,需要检查依赖库比如libxml2,如果找不到的时候,需要指定其安装目录,
注意一定是安装目录,而不是lib库的目录。以上的例子/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002就是libxml2的安装目录,而不是libxml2.so的目录(也即/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002/lib),否则是找不到的。
当然,编译libxml2的时候,需要制定其安装目录是/usr/local/armv7-marvell-linux-uclibcgnueabi-softfp_i686_64K_Dev_20131002




阅读(2017) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:BusyBox中Ctrl-C不起作用的解决办法

给主人留下些什么吧!~~

7大爷2014-04-22 14:47:01