【发布时间】:2018-06-01 08:26:26
【问题描述】:
有没有人为 MXE 的交叉编译环境构建 Berkeley DB 的解决方案?
当我运行构建脚本时:
#!/bin/bash
MXE_PATH=/path/to/mxe
db=db-5.3.28
rm -rf ./$db/build_mxe
mkdir -p ./$db/build_mxe
cd ./$db/build_mxe
sed -i "s/WinIoCtl.h/winioctl.h/g" ../src/dbinc/win_db.h
CC=$MXE_PATH/usr/bin/i686-w64-mingw32.static-gcc \
CXX=$MXE_PATH/usr/bin/i686-w64-mingw32.static-g++ \
../dist/configure \
--build=x86_64-pc-linux-gnu \
--host=x86 \
--disable-replication \
--enable-cxx \
--enable-mingw \
--prefix=/path/to/dev/mingw_db
make -j6; make -j6 install
编译器警告缺少direct.h:
../src/dbinc/win_db.h:21:20: fatal error: direct.h: No such file or directory compilation terminated.
direct.h 和所有依赖文件都存在于 mxe/usr/i686-w64-mingw32.static/include 目录中
那么如何强制编译器使用这些文件呢?
【问题讨论】:
-
您是否尝试过使用 -I 选项将此目录传递给编译器?
标签: linux mingw cross-compiling berkeley-db