c++ 如何使用CMake链接我的项目(arm)中的标准库?[已关闭]

t3psigkw  于 2022-12-01  发布在  其他
关注(0)|答案(1)|浏览(118)

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
昨天关门了。
Improve this question
我试图在main.cpp文件中添加#include <array>到我的项目中,但我得到了许多编译错误。
我在Cortex-M4上使用(GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)
我的CMakeLists.txt的某些部分

enable_language(C CXX ASM)

set(CMAKE_C_STANDARD          11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS        OFF)
set(CMAKE_CXX_STANDARD        17)

add_compile_options(-Os -mcpu=cortex-m4)

add_link_options(-mthumb
                 -Tlinker_script.ld
                 -Wl,--start-group
                 -Wl,--end-group
                 -Wl,--gc-sections
                 -mcpu=cortex-m4
                 -Wl,--entry=Reset_Handler
                 -Wl,--cref
                 -specs=nosys.specs)

我想std库还没有链接。我该怎么做?
当然,这是一个工作项目。没有#include <array>,一切都工作正常

92dk7w1h

92dk7w1h1#

错误似乎来自一个定义,这个定义是在我拥有的用户库中重新定义的。因为这个原因,更多的错误随之而来...
定义为

#define Min(a, b)  (((a) < (b)) ? (a) : (b))
#define Max(a, b)  (((a) > (b)) ? (a) : (b))

相关问题