我希望这个问题不是太微不足道,但我正在尝试将 gcc 命令转换为 CMakeLists.txt。不幸的是我无法理解基础知识,我希望你能帮助我。 我想要这样做的主要原因是我正在 Raspberry 上构建整个系统,并且它存在很多性能问题。所以 build 整个工程需要 90 分钟。使用 cmake,我希望在进行更改时构建过程能够更快地完成。这在理论上应该是可能的。
这是我的 gcc 命令
gcc -std=c99 -flto=1 -I$HOME/install/include -L$HOME/install/lib main.c MotorSteuerung.c
-lopen62541 -lmbedtls -lmbedx509 -lmbedcrypto -o MotorSteuerung
我已经开始使用 cmake 文件,但不幸的是我不太明白我必须做什么。特别是 -flto=1 ,它将并行标志限制为 1 (否则它不能在树莓派上构建)经过长时间的搜索后引导我来到这里。但我也不太明白如何实际集成这些库......
cmake_minimum_required(VERSION 3.20)
# set the project name
project(MotorSteuerung)
# Set the output folder where your program will be created
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
# The following folder will be included
include_directories("${PROJECT_SOURCE_DIR}")
# add the executable
add_executable(Tutorial open62541::open62541)
感谢您的帮助
最佳答案
您可以使用SET()
来设置编译器标志。检查CMake documentation
您可以将CMAKE_CXX_FLAGS
设置为要传递给编译器的标志
关于c++ - 将 Linux Debian gcc 命令转换为 CMakeLists.txt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66534771/