首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

make:*没有设置target '-std=c99‘的规则

这个问答内容涉及到编译器和编程语言方面的知识。针对这个问题,我会给出以下答案:

make是一个常用的构建工具,主要用于自动化地编译和构建软件项目。它可以根据一个描述文件(通常称为Makefile)中的规则来判断哪些文件需要重新编译,从而实现增量编译和构建的目的。

针对问题中提到的"-std=c99",它是GCC编译器的一个选项,用于指定C语言的编译标准为C99。C99是C语言的一个标准,引入了一些新的特性和改进,例如新的数据类型、可变长度数组、复合字面量等。通过指定编译标准,可以确保代码在不同的编译环境下具有一致的行为。

对于没有设置"-std=c99"的规则,可能有以下几种情况:

  1. 开发者忘记在Makefile中设置编译标准。在使用GCC编译器时,如果没有明确指定编译标准,默认会使用编译器的默认标准。
  2. 项目中可能使用了其他编译器或构建工具,该工具不需要显式指定编译标准。
  3. 项目可能是一个旧的项目,没有更新到使用C99标准的代码。

针对这个问题,推荐使用腾讯云提供的云原生技术和产品来进行开发和部署。腾讯云的云原生产品包括云原生容器服务(Tencent Kubernetes Engine,TKE)、Serverless云函数(Tencent SCF)、容器镜像仓库(Tencent Container Registry,TCR)等。这些产品可以帮助开发者快速构建、部署和管理云原生应用,提供高可用性、弹性伸缩、自动化运维等特性。

如果需要了解更多关于腾讯云的云原生产品,请访问腾讯云官方网站:

希望以上答案能够满足你的需求。如果还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 这篇文章不知道起什么名字

    这是中间文件,还没有组装 多文件编译 这个命令可以一次传多个源文件给编译器 可以是指定头文件编译 在这个文件里面可以看见我头文件所在 打开编译过程详细开关 -fverbose-asm:在编译成汇编语言时...:只测试源文件语法是否正确,不会进行任何编译操作 -ffreestanding:编译成独立程序,而非宿主程序 -ansi:ANSI标准 -std=c99C99标准 -std=gnu89:ISO/IEC...凡是-x后面所列所有文件都会被视为其指定类型,要想改变类型可以再一次使用-x选项,或者使用-x none回到默认设置 -l library:进行连接时搜索名为library库 -L dir:把dir...规则,用于描述各目标文件依赖关系。...对于每个源文件,预处理器输出一个make规则,该规则目标项(target)是源文件对应目标文件名,依赖项(dependency)是源文件中#include引用所有文件。

    74030

    Makefile详细介绍和使用

    https://www.cnblogs.com/LittleHann/p/3855905.html 规则是makefile中最重要概念,其告诉make 目标文件依赖关系,以及如何生成及更新这些目标文件...:为要生成或更新目标 prerequisites:为目标依赖关系 recipe:为生成目标的命令, foo.o : foo.c defs.h cc -c -g foo.c 其中foo.o为target...function.h gcc -c main.c -o main.o channle.o:channle.c WavHead.h gcc -c channle.c -o channle.o -std...=c99 .PHONY:clean clean: -rm -rf *.o 执行过程简单说就是最终需要生成一个名为test文件,这个文件需要main.o和channle.o,于是继续往下执行,然后通过命令...上面的代码在linux命令窗口下输入make命令就可以执行了,最终会生成一个test可执行文件。如果需要清除生成中间.o文件,输入make clean就可以全部清除了。

    60140

    学习了CC++,居然不了解Cmake这一利器

    major(主版本号) minor(次版本号) patch(补丁版本号) tweak LANGUAGES:可选,如果未配置,默认使用 C 以及 CXX 并且CMake会将对应值分别赋值给对应变量(如果没有设置...{CMAKE_C_FLAGS} -pipe -std=c99") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -std=c++11") add_compile_options...CMAKE_C_FLAGS: 为C代码添加了-pipe标志,并将C标准设置C99。 CMAKE_CXX_FLAGS: 为C++代码添加了-pipe标志,并将C++标准设置为C++11。...=c99") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe -std=c++11") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG...cmake --build cmake-demo:在生成构建系统文件路径下执行编译项目。或者使用 make 指令,make 指令使用是Makefile 文件。 .

    14110

    【Linux】--- Linux编译器-gccg++、调试器-gdb、项目自动化构建工具-makeMakefile 使用

    安装后编译器默认版本是较低,我们可以使用选项-std=c99(即使用c99标准),-std=c++11(即使用c++11标准)来进行版本提升。使用-o选项,可以将编译生成可执行重命名。...如果找到,它会找文件中第一个目标文件(target),在上面的例子中,他会找到"code.exe"这个文件,并把这个文件作为最终目标文件。...如果code.exe所依赖code.o文件不存在,那么make会在当前文件中找目标为code.o文件依赖性,如果找到则再根据那一个规则生成code.o文件。...make程序会读取makefile文件中数据,然后根据规则调用编译器,汇编器,链接器产生最后输出。 Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1....显式规则说明了,如何生成一个或多个目标文件。2. make有自动推导功能,所以 隐晦规则可以让我们比较粗糙地简略地书写makefile ,比如源文件与目标文件之间时间关系判断之类。3.

    38620

    Linux — Makefile学习笔记以及多级目录下Makefile编写

    声明所有的头文件 OBJLINK := –std=c99 #声明编译时候需要链接护着其他选项 export CC TOPDIR OBJDIR BINDIR BIN OBJLINK OBJ #到处所有的全局变量...-m 对新建目录设置存取权限。...也可以用chmod命令设置。 -p 可以是一个路径名称。此时若路径中某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在目录, 即一次可以建立多个目录。...clean: 关于clean规则,在make clean时候,并不产生目标文件,且没有依赖文件,所以命令都会执行,但如果目录中存在名为“clean”文件或者目录,则规则没有依赖文件...此main文件并非此工程以及Makefile需要依赖文件,为在本人在测试阶段手动编译生成可执行文件main,由于疏忽没有删掉。后续操作中可以忽略此文件。

    5.5K10

    Linux CC++工程中可生成ELF、动静态库文件通用Makefile

    其次,如果生成目标文件依赖其它库文件,那么只要将LD_LIB_DIR设置成该动态库所在目录,LD_LIBS设置成要链接动态库文件名即可。...更建议做法是在当前C/C++工程配置文件中设置LIBPATH参数为动态库所在目录,这样就不用在设置变量LD_LIB_DIR值了,例如: export LIBPATH=/usr/lib64/:${...:= /home/typecodes前面的#号去掉,然后设置成自己工程根目录即可。...伪目标clean对应命令make clean能够清除上次执行make命令产生影响;伪目标help对应命令make help能够在界面上输出Makefile文件中重要变量值,方便调试。...:= -std=c99 -D_GNU_SOURCE CC += $(STD_OPT) CXX += $(STD_OPT) # *nix system tools defined.

    33010

    程序员C语言快速上手——工程篇(十三)

    Makefile 脚本 Makefile 脚本文件是GNU make 工具输入文件,它也包含一套自己语法规则,它也能帮助C语言实现编译和链接。...基本语法规则 注意,#号开头行表示注释 语法结构如下 target1 target2 target3...: prerequisite1 prerequisite2 prerequisite3......但是要注意,我们如果在Windows上执行以上简化版make,则会报错,这是因为在Linux系统中,cc命令会默认链接到gcc命令上,执行cc命令就是在执行gcc命令,而我们Windows系统中是没有...链接指定库 find_library查找指定库,并将库文件路径保存到一个变量 set_target_properties设置目标的一些属性,从而改变构建方式 link_directories添加库搜索路径...(-std=c99 -Wall) add_definitions(-std=c99 -Wall) 指定构建环境 前面已经学会了-G参数指定构建环境,那么到底可以指定哪些构建环境呢?

    3.1K30

    Tool之双斜线注释

    因为这个工程中,IDE使用编译器是gnu,编译规则默认包含了-ansi ? 从gnu手册中,可以看到-ansi等同于-std=c89,而c89那个年代,是不支持双斜线 ?...原来删除-ansi后,IDE就会将规则重置为-std=gnu89,而正是gnu89对c89做了一些扩展,其中就包含了这个双斜线注释。...那我们直接将规则设置为gnu89,甚至c99、gnu99之类呢? ? 试一下,都没有问题。...不过,毕竟和c89相比,c99变化太多,编译规则改动太大,可能会涉及到代码移植或兼容问题,这就需要项目经理或技术负责人来统筹定制规则了。...难道diab默认没有使用ansi选项?看一下Build Console,它用选项是-Xansi ? 这是什么鬼?看看diab手册,-Xansi全称是-Xdialect-ansi。

    1.3K20
    领券