【发布时间】:2011-12-29 23:17:09
【问题描述】:
我正在尝试使用 CMake 的 ExternalProject_Add(...) 命令在 Linux 中交叉编译 bzip2。
但是,为了交叉编译 libbzip,您必须修改一些 Makefile 宏以执行构建。这是我当前的交叉编译变量:
set(bzlib_CROSS CC=${CROSS_PREFIX}gcc AR=${CROSS_PREFIX}ar RANLIB=${CROSS_PREFIX}ranlib LDFLAGS=-L${bzlib_MINGW_SRC}/lib CFLAGS=-Wall -Winline -O2 -g -I${bzlib_MINGW_SRC}/include)
这个变量然后用于构建命令
set(bzlib_BUILD make ${bzlib_CROSS} PREFIX=${DEPENDENCY_DIR})
CMake 错误,因为它试图将 -O2、-g 等传递给 make,这当然不起作用,但是当我尝试在 CFLAGS 变量周围添加引号时,它会说
cc1: error: unrecognized command line option '-Wall -Winline -O2 -g -I/long/path/here/include'
是否可以使用 CMake 的 BUILD_COMMAND 设置带有空格的 Makefile 宏?谢谢!
【问题讨论】:
标签: cmake cross-compiling