我有一个(嵌入式C / C ++混合)项目。
我需要设置最重要的一个-fno-rtti
。我不能使用
target_compile_options(
my_target
PRIVATE
-fno-rtti
)
因为这为CXX和C对象设置了-fno-rtti。但是,看着Daniel Pfeifer - "Effective CMake",他“建议”不要使用SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CUSTOM_C_FLAGS}")
和SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CUSTOM_CXX_FLAGS}")
但是如何为c ++和c实现不同的编译器标志?我不能只为C使用-fno-rtti
,因为它会发出警告,由于-Werror
政策我不能忽略这些警告。
我尝试将C文件移至库中,或将C ++文件移至库中,但是会生成不同的(无效的)二进制文件。