gpt4 book ai didi

c - 字符串化 CMake 预处理器 token

转载 作者:行者123 更新时间:2023-12-01 13:43:07 24 4
gpt4 key购买 nike

我正在使用 CMake 编译这个示例程序:

CMakeLists.txt:

cmake_minimum_required (VERSION 3.0.0)
set(PROJECT_NAME Main)
project(${PROJECT_NAME})

add_definitions(-DSTRING=“test”)

add_executable(${PROJECT_NAME} main.c)

ma​​in.c:

#include <stdio.h>

int main(void)
{
puts(STRING);
}

编译出现以下错误:

error: expected expression
puts(STRING);
^
<command line>:1:16: note: expanded from here
#define STRING "test"

如何在不修改 main.c 的情况下对该预处理器标记进行字符串化?

最佳答案

您使用的字符 在 C 中无效:

error: expected expression
puts(STRING);
^
<command line>:1:16: note: expanded from here
#define STRING “test”
^
1 error generated.

您必须在 CMakeLists.txt 中为 " 更改 ,然后您的程序才能编译。

关于c - 字符串化 CMake 预处理器 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38234111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com