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

如何在cmake >= 2.6中使用没有gnu扩展的c++98?

在cmake >= 2.6中使用没有gnu扩展的c++98,可以通过以下步骤实现:

  1. 确保你的项目中已经包含了CMakeLists.txt文件。
  2. 在CMakeLists.txt文件中,设置C++标准为c++98。可以使用以下命令:set(CMAKE_CXX_STANDARD 98)
  3. 确保你的编译器支持c++98标准。可以使用以下命令检查编译器版本:message(STATUS "C++ compiler version: ${CMAKE_CXX_COMPILER_VERSION}")
  4. 如果你的编译器不支持c++98标准,你可能需要升级或更换编译器。
  5. 在CMakeLists.txt文件中,添加你的源文件和目标可执行文件的配置。例如:add_executable(myapp main.cpp)
  6. 使用cmake命令生成构建系统文件。例如,在命令行中执行以下命令:cmake .
  7. 使用生成的构建系统文件进行编译。例如,在命令行中执行以下命令:make

这样,你就可以在cmake >= 2.6中使用没有gnu扩展的c++98进行开发了。

注意:以上步骤仅适用于cmake >= 2.6版本,并且假设你已经正确安装了cmake和合适的编译器。

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

相关·内容

关于编译重要概念总结

17 C++ 20 Makefile cmake 回想初学编程时候,大部分人都是从C语言开始学起,除了一些常见语法和思想,一些基础知识常常被人们忽略,如果没有及时地进行梳理,可能短时间内没有太大影响...cmake是什么? 如果脑海中没有一个整体概念框架的话,正如那张图,一个全副武装骑士,虽然防护很好,但是对于编译器基础知识掌握不牢,就像头盔上一个缝隙,可能下一箭正中缝隙,败下阵来。...针对这一现象,Richard Stallman发起了 GNU 计划,模仿 Unix 界面和使用方式,从头做一个开源版本。他自己做了编辑器 Emacs 和编译器 GCC。...C++ 14 C++14引入了二进制文字常量、将类型推导从Lambda函数扩展到所有函数、变量模板以及数字分位符等。进一步补充优化C++11。...Makefile在绝大多数IDE 开发环境中都在使用,譬如 Visual C++ nmake、linux 下 GNU make、Qt qmake 等等。

95420

mac平台VSCode配置指南

之前章节中讲过如何使用VSCode在windows平台进行开发,总有读者朋友私信问如何在mac平台配置VSCode,本文将我配置流程梳理如下,如有未尽流程或未能说明白地方,欢迎留言交流。...安装C++编译器 VSCode只是一个编辑器,真正编译C++代码是C++编译器,mac平台下常用C++编译器有clang和gcc,clang是苹果自家编译器,gcc是gnu编译器,两者都是开源...安装VSCode插件(cmakecmake tools) 打开VSCode,点击左侧扩展按钮,搜索cmake,依次选择cmake、camke tools进行安装, 如需安装其他插件,则按照上述步骤进行安装即可...可在VSCode扩展中搜索ssh选择安装SSH扩展,如下: 安装完成后,在VSCode左侧将出现【远程资源管理器】按钮,点击该按钮,进入到ssh选择配置界面,单击SSH右侧+号添加新SSH链接,如下图所示...总结 本文主要介绍了如何在mac使用VSCode进行开发,详细介绍了mac平台上安装cmake、C++编译器、VSCode、VSCode插件流程,完成如上安装和配置后,即可在mac平台上使用VSCode

32110
  • 哪个版本gcc才支持c11

    扩展:-std=gnu90 C94=C95:gcc选项:-std=iso9899:199409 C99:gcc选项:-std=c99 or -std=iso9899:1999 未完成C99标准之前...,叫做C9X 带了GNU扩展:-std=gnu99 C11:gcc选项是-std=c11 or -std=iso9899:2011 未完成C11标准之前,叫做C1X 带了GNU扩展:-std...它取代了第二版标准(第一版公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者差异很小)。新标准包含核心语言新机能,而且扩展C++标准程序库。...此次标准为C++98发布后13年来第一次重大修正。     像C++这样编程语言,通过一种演化过程来发展其定义。这个过程不可避免地将引发与现有代码兼容问题,在C++发展过程中偶尔会发生。...提示错误:‘c’变量没有类型,范围for循环不允许在C++98标准中使用 这是因为GCC/G++默认-std(即C++语言标准)不是C++11,在这里默认C++98,所以需要显式地开启,即添加-

    7.8K20

    安装GCC-8.3.0及其依赖

    GCC依赖库 编译之前需先安装好GCC依赖库:gmp、mpfr和mpc。编译还依赖m4等编译工具,如果没有,则在执行configue时会报相应错误,这时需要先安装好这些编译工具。...4.1. gmp库 GMP为“GNU MP Bignum Library”缩写,是一个GNU开源数学运算库。.../gnu/m4/ 如果使用“--prefix”指定了安装目录,则在编译gmp等之前还需先设置好环境变量PATH,以便configure时能找到m4。...本程序是自由软件;请参看源代码版权声明。本软件没有任何担保; 包括没有适销性和某一专用目的下适用性担保。...支持 在使用cmake前,需设置好下列所环境变量,否则cmake仍将使用默认目录下gcc和g++,在CMakeFiles.txt文件中设置CMAKE_C_COMPILER和CMAKE_CXX_COMPILER

    13.6K72

    CMake简易指南

    IDE 兼容,实际使用时尽可能使用更新版本 cmake 可以避免一些不必要错误。...:描述本地处理器类型为了跨平台差分使用方便,一般会在一个地方检测当前需要编译平台变量,:# 检测当前编译平台# iOS没有官方工具链,三方工具链部分设置名称为iOS,部分为IOS,此处统一改成小写...根据这一个特征,可以扩展很多实用操作,:编译前下载源代码,下载测试数据等基于编译事件自定义目标假设用户期望在库B编译完成时,将依赖库A拷贝至库B生成路径,样例如下:add_library(libA...交叉编译除了可是使用工具链,也可以在配置阶段通过参数指定编译器等信息实现交叉编译;工具链除了可以用于交叉编译,也可用于编译系统扩展:vcpkg 中可用于查找内置三方库工具链文件扩展工具链微软开源项目中工具链文件...几乎包含交叉编译中涉及所有改动,iOS 由于没有 Apple 没有提供官方支持,仅有开源项目 ios-cmake 可用,下文为 Linux 下 ARM 编译工具链样例:# 指定目标系统名称,不指定时取

    80750

    C++ 环境设置

    通过编辑器创建文件通常称为源文件,源文件包含程序源代码。C++ 程序源文件通常使用扩展名 .cpp、.cp 或 .c。...C++ 编译器用于把源代码编译成最终可执行程序。 大多数 C++ 编译器并不在乎源文件扩展名,但是如果您未指定扩展名,则默认使用 .cpp。...最常用免费可用编译器是 GNU C/C++ 编译器,如果您使用是 HP 或 Solaris,则可以使用各自操作系统上编译器。...以下部分将指导您如何在不同操作系统上安装 GNU C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU gcc 编译器适合于 C 和 C++ 编程语言。...g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件: g++ -g -Wall -std=c++11 main.cpp g++ 常用命令选项 选项 解释

    2.3K51

    conan入门(五):conan 交叉编译引用第三方库示例

    通过完整二进制包管理,它可以为任意数量不同版本包创建和重用任意数量不同二进制文件(用于不同配置,架构、编译器版本等),在所有平台上使用完全相同过程。...本文还是以cJSON 为例 ,说明如何在交叉编译环境下使用Conan引入依赖库。 总得来说,很简单,只需要有工具链文件,就可以完成。...示例程序conan_example,以JSON格式输出使用cJSON库版本号。...arm平台cjson库,显然,conan中央仓库没有预编译好arm版本cJSON库,我们需要通过定义环境变量CONAN_CMAKE_TOOLCHAIN_FILE指定工具链文件,执行conan install...] ​ --build missing 如果依赖包中没有找到预编译二进制包则从源码编译 ​ --build outdated 如果依赖包中没有找到预编译二进制包或过期(日期旧于源码)则从源码编译

    1.6K30

    配置C++学习环境

    C++ 程序源文件通常使用扩展名 .cpp、.cp 或 .c。 在开始编程之前,请确保您有一个文本编辑器,且有足够经验来编写一个计算机程序,然后把它保存在一个文件中,编译并执行它。...大多数 C++ 编译器并不在乎源文件扩展名,但是如果您未指定扩展名,则默认使用 .cpp。...最常用免费可用编译器是 GNU C/C++ 编译器,如果您使用是 HP 或 Solaris,则可以使用各自操作系统上编译器。...以下部分将指导您如何在不同操作系统上安装 GNU C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU gcc 编译器适合于 C 和 C++ 编程语言。...g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件: g++ -g -Wall -std=c++11 main.cpp g++ 常用命令选项

    14110

    【C++】基础:代码编译与构建工具介绍

    常用构建工具包括: Make:GNU 构建工具,使用 Makefile 文件描述构建规则。 CMake:跨平台构建工具,使用 CMakeLists.txt 文件描述构建规则。...gcc可以将C语言源程序编译、链接成可执行文件,如果没有给出可执行文件名字,gcc将生成一个名为a.out文件(g++类似,是编译C++程序)。...常用构建工具 make make工具相当于一个批处理工具,本身没有编译和链接功能,而是用类似于批处理方式通过调用makefile文件中用户指定编译命令(gcc、g++)来进行编译和链接(当作批处理工具用就行...cmake 在大型工程编译时,一版使用cmake,对应编译文件是CMakeList.txt。...它旨在提供高效、可扩展和可靠构建系统,适用于大型项目和分布式代码库。

    19510

    FFmpeg开发笔记(九)Linux交叉编译Androidx265库

    ​《FFmpeg开发实战:从零基础到短视频上线》一书“12.1.2 交叉编译Android需要so库”介绍了如何在Windows环境交叉编译Android所需FFmpegso库,前文又介绍了如何在...Linux环境交叉编译Android所需FFmpegso库,接下来介绍如何在Linux环境交叉编译Android所需x265so库。...1、安装cmake 执行以下命令安装cmake yum install cmake git 2、下载Linux版本android-ndk-r21e(已下载则忽略) 登录Linux服务器(比如华为云欧拉系统...x265_3.5/build/aarch64-linux目录下crosscompile.cmake,把下面两行 set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)...set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) 改为下面两行 set(CMAKE_C_COMPILER aarch64-linux-android24-clang

    57410

    CMake 秘籍(六)

    CMAKE_INSTALL_INCLUDEDIR:最后,我们使用这个变量来获取我们 C 头文件正确子目录。这个变量扩展为include。 然而,用户可能想要覆盖这些选择。...请注意,意义也会根据我们是构建还是使用共享库而改变。幸运是,CMake 为我们处理了这一点,无需进一步干预。对于静态库,它将扩展为一个空字符串,做我们期望事情:什么都不做。...这样,即使没有运行适当安装,我们项目也可以立即使用。 系统上没有找到合适message库。然后,CMake 将在构建我们项目之前运行提供用于构建库命令,以满足这个依赖。...使用以下命令,我们可以列出可用目标(示例输出是在使用 Unix Makefiles 作为生成器 GNU/Linux 系统上获得): $ cmake --build ....在本节中,我们将为使用 CMake 配置和构建非常简单 C++示例项目准备一个 Conda 包,该项目没有除 C++之外其他依赖项。在下一节中,我们将准备并讨论一个更复杂 Conda 包。

    36600

    如何进行环境配置

    通过编辑器创建文件通常称为源文件,源文件包含程序源代码。C++ 程序源文件通常使用扩展名 .cpp、.cp 或 .c。...C++ 编译器用于把源代码编译成最终可执行程序。 大多数 C++ 编译器并不在乎源文件扩展名,但是如果您未指定扩展名,则默认使用 .cpp。...最常用免费可用编译器是 GNU C/C++ 编译器,如果您使用是 HP 或 Solaris,则可以使用各自操作系统上编译器。...以下部分将指导您如何在不同操作系统上安装 GNU C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU gcc 编译器适合于 C 和 C++ 编程语言。...g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件: g++ -g -Wall -std=c++11 main.cpp g++ 常用命令选项 选项 解释

    1.2K20

    如何进行内存设置

    通过编辑器创建文件通常称为源文件,源文件包含程序源代码。C++ 程序源文件通常使用扩展名 .cpp、.cp 或 .c。...C++ 编译器用于把源代码编译成最终可执行程序。 大多数 C++ 编译器并不在乎源文件扩展名,但是如果您未指定扩展名,则默认使用 .cpp。...最常用免费可用编译器是 GNU C/C++ 编译器,如果您使用是 HP 或 Solaris,则可以使用各自操作系统上编译器。...以下部分将指导您如何在不同操作系统上安装 GNU C/C++ 编译器。这里同时提到 C/C++,主要是因为 GNU gcc 编译器适合于 C 和 C++ 编程语言。...g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件: g++ -g -Wall -std=c++11 main.cpp g++ 常用命令选项 选项 解释

    1.3K20

    C和C++编译工具基本使用方法

    G++重要编译参数 (1)编译带调试信息可执行文件 # -g 选项告诉GCC产生能被 GNU 调试器DGB使用调试信息,以调试程序 # 产生带调试信息可执行文件terst g++ -g test.cpp...,指令调整等 -O3 则包括循环展开和其他一些与处理性相关优化工作,选项将使编译速度比 -O 慢,但通常产生代码执行速度会更快。.../a_with_o2 result = 100904034 pan@pan-PC:~/Work/src/cmake/src$ 可以看到计算结果是一样,但是没有编译优化 a_without_o...我们可以使用再次使用 time 命令计算执行程序所需时间,可以看到明显时间区别,如下结果 pan@pan-PC:~/Work/src/cmake/src$ time ....-l 参数就能链接 # 链接 glog库 g++ -lglog test.cpp 如果库文件没有放在上面的三个目录里,需要使用-L参数(大写)指定库文件所在目录,-L 参数跟着是库文件所在目录名

    1.2K10

    【GUN和Linux到底是什么关系,gcc,make,cmake,yum是什么】

    曰:“丘得其为人,黯然而黑,几然而长,眼望羊,王四国,非文王其谁能为此也!”师襄子辟席再拜,曰:“师盖云文王操也。”...8.这时候就出现了Cmake这个工具,cmake就可以更加简单生成makefile文件给上面那个make用。...一家 CD-ROM 供应商发现,在他们“Linux 发行版”中,GNU 软件是最大单一队伍,约占总源代码 28%,其中包括一些必不可少主要组件,没有这些组件就没有系统。...该FSF资金Linux相关扩展GNU C库改写,所以,现在他们已完全融入,以及最新GNU / Linux系统中使用当前版本没有变化。...无论您是否使用 GNU/Linux,请不要混淆使用“Linux”这个名称来混淆公众。Linux 是内核,是系统必不可少主要组件之一。整个系统基本上是GNU系统,加入了Linux。

    1.9K40

    Ubuntu 系统配置 VS Code C++ 开发环境

    编辑器集合、GNU 调试器、其他编译软件所必需开发库和工具,简单来说,安装了 build-essential 就相当于安装了 gcc、g++、make 等工具。...安装 cmake 安装命令 sudo apt install cmake 查看 cmake 版本: # cmake --version cmake version 3.16.3 CMake suite...VS Code 环境配置 VS Code 安装 安装 VS Code 在 VS Code 中安装 C/C++ Extension Pack 扩展组件,其他插件会附带安装 我同时也安装了 C/C++,Code...Runner, C/C++ Compile Run 扩展 环境配置 VS Code 与 Visual Studio或其他大型IDE工作机制类似,一般都是每个project有一个单独工作空间(也就是目录...配置补充 c_cpp_properties.json 想要进行更多配置,例如设置编译器路径、改变C标准等,可以创建一个c_cpp_properties.json文件,使用 ctrl+shift+P 打开命令搜索

    1K10

    CMake vs Make对比

    因此,没有明确指定像$(CC)这样命令。 为了编码真正想要血液细节垃圾,请继续阅读。如果你不是所有的,你可以跳到下一节。...当然,当第三方库(OpenGL)以便携式方式被包含时,CMake真的开始闪耀。 有什么不同? 如果您使用Makefile,即在命令行中键入“make”,则构建过程有一个步骤。...为此,GNU项目开发了一套集成实用工具来完成Autoconf开始工作:GNU构建系统,其最重要组件是Autoconf,Automake和Libtool。 “做”不能这样做,至少没有修改它!...CMake解决了同样问题,但与此同时,它具有优于GNU构建系统一些优点: 用于编写CMakeLists.txt文件语言是可读和易于理解。 它不仅依靠“Make”来构建项目。...它支持多个生成器,Xcode,Eclipse,Visual Studio等。 当将CMake与Make进行比较时,使用CMake有几个优点: 跨平台发现系统库。 自动发现和配置工具链。

    4K31

    Ubuntu下源码安装Opencv完全指南

    这里讲解如何在Ubuntu系统中利用源码安装Opencv。...,上面的这些依赖件一定要都确认安装完毕,如果某些依赖没有安装正确后,编译好Opencv会缺失一些基本功能(在编译Opencv过程中会有提示,但是不会中断!)...安装python依赖(可选) (注意,这部分只适合系统中没有安装任何python组件,如果你系统已经安装了python组件,那么只需要安装python-dev和python3-dev即可,然后在各自环境中...cv2.cpython-36m-x86_64-linux-gnu.so 然后根据地址来生成link(注意,下方地址修改成自己地址): ############ For Python 2 ######...cv2.so 后续操作 测试安装是否正确 很简单,自己写个使用Opencvtest.cpp文件,然后利用下面的命令编译一下看看能不能运行即可: g++ –std=c++11 test.cpp ‘

    78820

    小白也可以玩转CMake之常用必备

    以下是GNU GCC链接器链接器标志列表。...最常见标志之一是-l,用于链接所需库,-lzlib、-lboost等。 还有其他附加标志,可帮助您更改可执行文件链接选项行为。...以下是您可以添加链接器标志变量: CMAKE_EXE_LINKER_FLAGS:在创建可执行文件时由链接器使用标志 CMAKE_EXE_LINKER_FLAGS_RELEASE:在创建发布版本可执行文件时由链接器使用标志...CMAKE_EXE_LINKER_FLAGS_DEBUG:在创建调试版本可执行文件时由链接器使用标志 CMAKE_STATIC_LINKER_FLAGS:在创建静态库(.a、.lib)时由链接器使用标志...CMAKE_SHARED_LINKER_FLAGS:在创建共享库(.so、.dll)时由链接器使用标志 CMAKE_MODULE_LINKER_FLAGS:在创建模块库时由链接器使用标志 例如,您可以使用以下代码添加链接器标志

    54940
    领券