GCC编译报错:invalid value 'precompiled-header' in '-x precompiled-header'求助
解决GCC编译报错:error: invalid value 'precompiled-header' in '-x precompiled-header'
嘿,我来帮你搞定这个头疼的编译错误!先跟你说清楚问题出在哪:
你的编译命令里写了includes/*,这会让shell把includes目录下的所有文件(也就是你放的file.h)都当成编译源文件传给GCC。GCC看到.h后缀的文件时,会默认尝试用预编译头模式处理它(自动加上-x precompiled-header参数),但你根本没预编译这个头文件,自然就报错了。
正确的解决方案
你不需要把头文件直接加到编译命令里,而是用-I参数告诉GCC去哪里找头文件就行。修改后的编译命令应该是:
gcc -Wall -Wextra -Werror -Iincludes main.c srcs/* do-op.c
-Iincludes的作用是让GCC在编译时自动去includes目录下搜索你代码里#include的头文件,完全不用手动把.h文件列出来。
额外小建议
看你的main.c代码里写的是#include "includes/ft.h",其实加了-Iincludes后,你可以改成更简洁的#include "ft.h",GCC一样能找到这个头文件,代码看起来更清爽~
内容的提问来源于stack exchange,提问作者Alexandre de Temmerman
相关产品推荐
相关产品推荐

