C++ 如何打印一张照片;使用CMake命令的符号?

C++ 如何打印一张照片;使用CMake命令的符号?,c++,linux,boost,cmake,C++,Linux,Boost,Cmake,我正在将Boost构建为CMake下的外部项目。我想为arm交叉编译。为此,我尝试使用gcc:arm:arm-linux-gnueabi编写转至user-config.jam 然而,它似乎拒绝打印符号。我只能假设这是由于CMake将命令传递给shell造成的某种破坏。我尝试使用sed内联编辑project-config.jam,但结果相同。现在我正在尝试回显user-config.jam行 以下是CMakeLists.txt中的ExternalProject命令: ExternalProject

我正在将Boost构建为CMake下的
外部项目。我想为arm交叉编译。为此,我尝试使用gcc:arm:arm-linux-gnueabi编写
转至user-config.jam

然而,它似乎拒绝打印
符号。我只能假设这是由于CMake将命令传递给shell造成的某种破坏。我尝试使用
sed
内联编辑project-config.jam,但结果相同。现在我正在尝试
回显
user-config.jam行

以下是CMakeLists.txt中的ExternalProject命令:

ExternalProject_Add(Boost
    URL https://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/downloads/boost_1_59_0
    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/downloads/boost_1_59_0
    UPDATE_COMMAND ""
    PATCH_COMMAND ""

    CONFIGURE_COMMAND ./bootstrap.sh --prefix="${CMAKE_BINARY_DIR}/boost_1_59_0" --without-icu
    COMMAND echo using gcc : arm : arm-linux-gnueabi > ./user-config.jam
    COMMAND echo ; >> ./user-config.jam
    BUILD_COMMAND "./b2"
    INSTALL_COMMAND ./b2 install toolset=gcc-arm --prefix=${CMAKE_CURRENT_SOURCE_DIR}/deps/boost
    INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/deps/boost
)
详细的CMake打印:

cd /home/matthew/Desktop/arm/downloads/boost_1_59_0 && echo using gcc : arm : arm-linux-gnueabi > ./user-config.jam
cd /home/matthew/Desktop/arm/downloads/boost_1_59_0 && echo >> ./user-config.jam

您可以看到它使用。。。gnueabi行可以修改为user-config.jam。然而,它似乎对待
为空字符。当我在
周围使用单引号和双引号时,它也会做同样的事情字符。

分号是cmake的列表分隔符。CMake 2.8.11及更高版本有一个特殊的$token:

COMMAND echo $<SEMICOLON> >> ./user-config.jam

这对于echo可能无关紧要,对于其他功能(创建/删除目录)则需要记住。

分号是cmake的列表分隔符。CMake 2.8.11及更高版本有一个特殊的$token:

COMMAND echo $<SEMICOLON> >> ./user-config.jam

这可能与echo无关,但对于其他功能(创建/删除目录)则需要记住。

我应该指定,引号(单引号和双引号)没有帮助。详细的输出是否与使用引号发布的内容不同?COMMAND${CMAKE_COMMAND}-E echo“>>./user-config.jam现在以cd/home/matthew/Desktop/arm/downloads/boost_1_59_0&&/usr/bin/cmake-E echo>>./user-config.jamcmake使用;作为列表分隔符。尝试用反斜杠转义。cmake>=2.8.11中还有一个特殊的$token,在一个更简洁的测试中,它看起来像是引号中的一个反斜杠打印出分号。我应该指定,引号(单引号和双引号)没有帮助。详细的输出看起来与您用引号发布的结果不同吗?COMMAND${cmake_COMMAND}-E echo“>>./user-config.jam现在以cd/home/matthew/Desktop/arm/downloads/boost_1_59_0&&/usr/bin/cmake-E echo>>./user-config.jamcmake使用;作为列表分隔符。尝试用反斜杠转义。cmake>=2.8.11中还有一个特殊的$token,在一个更简洁的测试中,它看起来像是引号中的一个反斜杠打印分号。