Jac*_*lly 10
通常,要交叉编译自动化程序包,可以将一些额外的参数传递给./configure:--host和--build.--host是构建的程序将运行--build的系统的名称,并且是进行编译的系统的名称.
当我说"系统的名称"时,我的意思是形式的元组ARCH-VENDOR-OS-LIBC.(例如i686-pc-linux-gnu,描述我正在使用的系统的元组.)有时候元组的部分被省略了,就像在mingw32工具链的情况下一样(在我的系统上,mingw32交叉工具与元组一起安装i586-mingw32msvc和/或amd64-mingw32msvc) .
(还有另一个配置参数,--target用于交叉编译编译器,并指定生成代码时正在构建的编译器将作为目标的系统.)
每个工具链都有自己的子目录,/usr例如/usr/i586-mingw32msvc.您将要在此处安装新软件包,以便找到它们.使用--prefix参数来configure.
所以要从我的GNU/Linux系统交叉编译到MinGW32系统,我会这样运行configure:
./configure --host=i586-mingw32msvc --build=i686-pc-linux-gnu --prefix=/usr/i586-mingw32msvc
Run Code Online (Sandbox Code Playgroud)
所以从依赖图的叶子开始,然后继续前进.您可能还希望传递--enable-static --disable-shared给configure:这将停止为libtooled包创建动态库.如果程序包需要在构建过程中运行程序,则可能必须本机安装某些程序包以及交叉编译它们.
有时候configure测试会失败:例如,它会尝试编译和运行程序.这些测试通常会设置一个缓存变量,您也可以将命令行传递给它configure.同样,您可以覆盖程序路径和库编译/链接标志等内容.检查你的包裹./configure --help.
| 归档时间: |
|
| 查看次数: |
6471 次 |
| 最近记录: |