一个非常简单的源代码如下:
#include <stdio.h>
#define ADD(x,y) x+y
int main(int argc, char *argv[])
{
printf("%d\n",ADD(1,2));
return 0;
}
CMakeLists.txt
是:
cmake_minimum_required(VERSION 3.14)
project(url_email LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_compile_options(-E -v)
add_executable(url_email main.cpp)
target_link_libraries(url_email)
我试着输出像url_email.i这样的预处理文件,但链接器总是说:
/usr/bin/ld:CMakeFiles/url_email.dir/main.cpp.o: file format not recognized; treating as linker script
有什么问题吗?
我尝试输出预处理文件,如url_email.i,其中包含处理后的宏定义
1条答案
按热度按时间4sup72z81#
使用-E选项时,对象文件(main.cpp.o)似乎已经更改为ASCII格式,扩展了宏定义,不再有url_email.i文件了。谢谢大家的回答。