Ich verwende CMake dieses Beispielprogramm zu kompilieren:Stringify CMake Präprozessor-Token
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)
main.c:
#include <stdio.h>
int main(void)
{
puts(STRING);
}
Compiling gibt mir den folgenden Fehler:
error: expected expression puts(STRING); ^ <command line>:1:16: note: expanded from here #define STRING "test"
Wie kann ich diese Präprozessor-Token stringify ohnemain.c
zu modifizieren?
Ich hoffe, Sie verwenden nicht wirklich "intelligente Anführungszeichen" in CMakeLists.txt, obwohl Ihr Beispiel zeigt ihnen: '-DSTRING =" test "' – librik