我有两件事我不知道。(1)使用时CMake-GUI
,我们可以指定makefile生成器。我将与Debian Linux交叉编译Raspberry PI。我找不到相关的生成器。我必须选择哪个发电机?我有toolchain-rpi.cmake
如下。
INCLUDE(CMakeForceCompiler)
SET(CMAKE_SYSTEM_NAME Linux) # this one is important
SET(CMAKE_SYSTEM_VERSION 1) # this one not so much
SET(CMAKE_C_COMPILER $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-gcc)
SET(CMAKE_CXX_COMPILER $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-g++)
SET(CMAKE_AR $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-ar)
SET(CMAKE_LINKER $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-ld)
SET(CMAKE_NM $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-nm)
SET(CMAKE_OBJCOPY $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-objcopy)
SET(CMAKE_OBJDUMP $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-objdump)
SET(CMAKE_STRIP $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-strip)
SET(CMAKE_RANLIB $ENV{RPI_CC}/bin/arm-bcm2708hardfp-linux-gnueabi-tanlib)
# where is the target environment
SET(CMAKE_FIND_ROOT_PATH $ENV{RPI_CC}/arm-bcm2708hardfp-linux-gnueabi)
# search for programs in the build host directories
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# for libraries and headers in the target directories
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
(2)当我在Windows7的命令窗口中运行cmake时,默认情况下它是为Visual Studio 10编译的(我没有选择任何选项,它默认情况下会发生)为-- Building for: Visual Studio 10
。如何更改它以为Debian Linux构建?谢谢
(根据http://www.cmake.org/Wiki/CMake_Cross_Compiling上的文档)
您需要一个工具链文件,并且必须通过定义CMake变量来指示CMake使用它CMAKE_TOOLCHAIN_FILE
。
而且,如果您想使用该工具链进行构建,则您的CMake生成器必须是“ Unix Makefile”。这意味着该构建工具将make
代替Visual Studio。因为我不确定CMake是否可以创建使用gcc交叉编译器的Visual Studio项目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句