小编lol*_*123的帖子

将错误与裸机目标的 cmake 项目链接起来

我正在尝试为我的裸机项目制作一个 CMAKE 脚本。目标是STM32F4,类似arch-linux的主机。

我使用了这个CMakeLists.txt

IF(WIN32)
cmake_minimum_required(VERSION 2.6)
ELSE(WIN32)
cmake_minimum_required(VERSION 2.4)
ENDIF(WIN32)
INCLUDE(CMakeForceCompiler)


# set cross compilation information
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)

# specify the toolchain
set(TOOLCHAIN_PREFIX /usr/bin/arm-none-eabi-)

set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc)

set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++)
#set(CMAKE_LD ${TOOLCHAIN_PREFIX}ld)

set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}as)
set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar)
set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy)
set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump)

CMAKE_FORCE_C_COMPILER(arm-none-eabi-gcc GNU)
CMAKE_FORCE_CXX_COMPILER(arm-none-eabi-g++ GNU)

#specify the linker
#SET(CMAKE_C_LINK_EXECUTABLE /usr/bin/arm-none-eabi-ld)
#SET(CMAKE_CXX_LINK_EXECUTABLE /usr/bin/arm-none-eabi-ld)
#SET(CMAKE_LINKER /usr/bin/arm-none-eabi-ld)


set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

enable_language(ASM)

# set compiler flags
set(CPU "-mcpu=cortex-m4")
set(FPU "-mfpu=fpv4-sp-d16 -mfloat-abi=softfp")
set(CMAKE_ASM_FLAGS "-mthumb ${CPU} ${FPU} -MD")

set(CMAKE_C_FLAGS "-mthumb ${CPU} …
Run Code Online (Sandbox Code Playgroud)

c++ cmake bare-metal

2
推荐指数
1
解决办法
1574
查看次数

标签 统计

bare-metal ×1

c++ ×1

cmake ×1