Cmake CMAKE_OSX_SYSROOT抑制

问题描述 投票:0回答:1

下面是我的CMakeLists.txt文件中的一小段。我可以添加更多,但我认为问题仅涉及几行。

工具版本:

CMakeLists.txt:

cmake_minimum_required(VERSION 3.8)

set(CMAKE_OSX_SYSROOT "")    # This is the specific line in question

set(CMAKE_C_COMPILER   arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-c++)
set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)

add_executable(test_app
    ./src/main.cc
    ./startup/gcc_startup.cc
    )

在OSX上编译时,我必须包含以下语句:

set(CMAKE_OSX_SYSROOT "")

否则,CMake注入

-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk

进入我的编译命令行。

在Linux上编译时,它不会执行此功能。

为什么CMake坚持将OSX sdk头文件注入Cortex-M交叉编译工具链中-我在纠正错误以抑制它吗?

c++ c cmake arm cortex-m
1个回答
0
投票

看起来像这样不会引起太多兴趣。我在Mac OS上使用cmake时遇到了同样的问题,并且-isysroot导致编译失败。直到最近我才遇到这个问题。我的程序曾经编译过。

您的压抑对我有用。现在可以编译,尽管我不知道为什么。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.