mev*_*ron 5 cmake cross-compiling
我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)
然后将此变量用于构建命令
set(bzlib_BUILD make ${bzlib_CROSS} PREFIX=${DEPENDENCY_DIR})
Run Code Online (Sandbox Code Playgroud)
CMake错误,因为它试图传递-O2,-g等make,这当然不起作用,但是当我尝试在CFLAGS变量周围添加引号时它说
cc1: error: unrecognized command line option '-Wall -Winline -O2 -g -I/long/path/here/include'
Run Code Online (Sandbox Code Playgroud)
是否可以使用CMake设置包含空格的Makefile宏BUILD_COMMAND?谢谢!
想出来......我需要将引用的字符串拆分成它自己的变量
set(bzlib_CFLAGS "-Wall -Winline -O2 -g -I${bzlib_MINGW_SRC}/include")
set(bzlib_CROSS CC=${CROSS_PREFIX}gcc AR=${CROSS_PREFIX}ar RANLIB=${CROSS_PREFIX}ranlib LDFLAGS=-L${bzlib_MINGW_SRC}/lib CFLAGS=${bzlib_CFLAGS})
Run Code Online (Sandbox Code Playgroud)
这有效!
| 归档时间: |
|
| 查看次数: |
2573 次 |
| 最近记录: |