cmake的一个编译报错

2023-05-16

在一台新搭建的服务器上执行cmake的时候,报了如下错误:

$ cmake ./
-- The C compiler identification is unknown
-- The CXX compiler identification is GNU 4.4.7
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /usr/share/cmake/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "/usr/bin/cc" is not able to compile a simple test program.

It fails with the following output:

...

查看下gcc与g++的版本:

$ gcc --version
gcc (GCC) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ g++ --version
g++ (GCC) 5.1.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

发现都是5.1.0,那为何会有这行“The CXX compiler identification is GNU 4.4.7”报错呢?

查看当前目录下的CMakeCache.txt

发现如下两行配置:
//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++

//C compiler.
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
执行 /usr/bin/c++ --version 和 /usr/bin/cc --version,发现输出的版本号仍然是5.1.0,这就有点莫名其妙了。

google搜索出了一个github issue:https://github.com/Kingsford-Group/genesum/issues/2,在里面找到了解决方案:
**

cmake -DCMAKE_CXX_COMPILER=KaTeX parse error: Double subscript at position 22: … g++) -DCMAKE_C_̲COMPILER=(which gcc) ./

**
执行之后果然可以了,并且重新打开了CMakeCache.txt之后发现,编译器的两个选项改变了:

//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/g++

//C compiler.
CMAKE_C_COMPILER:FILEPATH=/usr/local/bin/gcc
这两个路径与命令 which gcc 和 which g++的输出一致。

猜测手动改CMakeCache.txt 的这两项应该也可以解决问题,比较困惑的就是,为何运行/usr/bin/c++ --version得到的版本号仍然是5.1.0?

这个疑惑要留待以后来解决了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cmake的一个编译报错 的相关文章

  • VS 2015 命令提示符中不再找到 rc.exe

    我刚刚安装了 Windows 10 创意者更新 版本 10 0 15063 我安装了多个版本的 Visual Studio 2012 2013 2015 和 2017 我几周前才安装了 VS 2017 Problem CMake 版本 3
  • 使用 cmake 构建项目后如何运行 ctest

    我希望每次成功构建项目时都启动测试 如果某些测试被破坏 我希望我的构建也被破坏 默认情况下 我需要通过运行来手动运行测试ctest命令 CTest 实际上可以构建项目 但我使用调用的 IDEmake建立资源 和make不运行测试 我将此命令
  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • 如果构建是源代码外的,CMake 无法找出标头依赖项?

    我一直在使用 CMake 来管理一个单独的小型 c 项目 基于 Unix Makefile 并决定将其转换为更有组织的源代码外构建 但是 当它超出源时 通过执行cmake 在 build 中 我的标头不再是其源文件的依赖项 如果我只是从顶层
  • CMake 链接失败

    我正在为 CMake 配置我的项目 并且遇到链接问题 项目文件全部编译成功 然后它说它正在链接并报告未找到的各种符号 这些符号大部分是由我自己的代码提供的 其中一些是由 BerkeleyDB 提供的 它已被正确定位并包含在内 这是我的顶级
  • CMake错误:本项目中使用了以下变量,但它们被设置为NOTFOUND

    我正在尝试配置whalebot带有 tar 文件的爬虫whalebot 0 02 00 tar gz 我已正确提取它 root Admin1 dls tar xvzf whalebot 0 02 00 tar gz 之后我想对其进行配置 r
  • 如何重新安装最新的cmake版本?

    我想在Linux环境下安装cmake的最新版本 我安装了 cmake 3 5 版 但某些应用程序不支持 我尝试通过卸载当前版本来升级它 但是当我使用 sudo apt get install cmake 重新安装时 我重新安装了相同的版本
  • Qt5 CMake 将所有库包含到可执行文件中

    我正在尝试使用 Qt 5 14 构建一个发布模式下的应用程序 并且 Qt Creator 内部一切正常 但是当我尝试单独运行可执行文件时 我收到如下错误 OS Windows 10 Qt 5 14 Cmake 3 5 我尝试过的 设置 CM
  • 如何安装和使用 YAML-Cpp

    我想学习 YAML 并将其与 C 一起使用 但我一直在尝试设置YAML Cpp 让我解释一下到目前为止我所做的事情 我下载了源代码 版本0 5 1 安装的 Cmake 适用于 Windows 安装了 Boost 库 为 Visual Stu
  • 在cmake中检测项目语言

    我想检测当前的项目语言 例如 如果我有这样的东西 cmake minimum required VERSION 3 0 project foo VERSION 1 0 LANGUAGES CXX 我需要这样的东西 if project la
  • 为dlib创建共享库

    按照说明使用 cmake 编译 dlib here http dlib net compile html 生成静态 dlib 库 cd examples mkdir build cd build cmake cmake build conf
  • 来自库的 CMake link_directories

    我正在尝试使用 CMake 和 Xcode 从另一个库链接到一个库 这对任何图书馆来说都是一个问题 但为了让事情更容易传达 让我们使用zlib举个例子 这似乎适用于可执行文件 如下所示 LINK DIRECTORIES LIB DIR zl
  • cmake 找不到 boost 库,因为它查找错误的文件名

    我根据文档在 Windows 8 1 机器上构建了 boost 1 56 库 作为共享库和静态库 他们全部出现在BOOST ROOT stage lib目录 文件名格式如下 boost thread vc120 mt 1 56 dll bo
  • cmake MSYS Makefiles 生成器丢失

    我通过 pacman 安装了 cmake 3 2 3 当我尝试从 msys64 shell 中使用它时出现错误 cmake G MSYS Makefiles CMake Error Could not create named genera
  • 如何使用 Apache Arrow 在 Windows 上使用 C++ 编写 Parquet 格式的文件?

    我正在尝试使用 C 在 Windows 上编写 Parquet 文件 我按照我找到的说明进行操作here https github com apache arrow blob master docs source developers cp
  • 构建涉及 cmake 的项目,如何使其了解库

    当我尝试在 64 位 linux debian 机器上使用 cmake 和 gcc 构建此项目时 我从链接器中收到错误 Linking C executable cpsadamsx home dala lib64 libSimTKcommo
  • cmake:设置多个项目以及它们之间的依赖关系

    我需要帮助为 C 项目编写一个好的 CMakeLists txt 我寻找答案 但我发现了什么 这是我的项目结构 MainProj ProjLib include proj lib h src proj lib cc CMakeLists t
  • cmake 生成 Xcode 项目 - 发布构建有效,但存档因链接器错误而失败

    使用 Xcode 6 3 1 CMake 3 2 2 我有一个与图书馆链接的项目 该库作为代码包含在 xcode project 中 经过编译 然后与主可执行文件链接 项目是用cmake生成的 CMakeLists txt 的一些摘录 ad
  • 使用 cmake 处理头文件依赖关系

    我正在一个小型 C 项目上使用 CMake 到目前为止 它运行得很好 有一点点 x 当我更改头文件时 通常需要重新编译许多源文件 直接或间接包含它的文件 但是 cmake 似乎只检测到some的源文件被重新编译 导致损坏状态 我可以通过清除
  • 具有许多第三方依赖项的大型跨平台 C++ 项目在磁盘上的物理布局

    我正在重新组织物理 磁盘上 布局大型跨平台 C 项目 https github com jupiter jazz appleseed具有许多第三方依赖项 使用 CMake 构建 由于我们需要支持 Windows 这个平台上没有完善的包管理器

随机推荐

  • 一个电子发烧友的程序员成长之路

    回想起高考已经是7年前的事情了 xff0c 一直想在毕业之际记忆记录一下7年的历程 xff0c 懒惰始终占据着我的整个身躯 看到这个征文活动 xff0c 让我有点想提笔记录的冲动了 1 邂逅 一直在想该用什么样的语言来将我对电子制作发烧程度
  • AI与医学辅助诊断

    人工智能一词越来越频繁的出现在日常生活中 一种事物的时髦 xff0c 必然有其背后的原因 而对于这样一个大的话题 xff0c 从整体上来叙述总显得有些不接地气 作为跟AI沾过一些边的博主将以自己接触的方面来发表一点看法 首先介绍一下 xff
  • 最优传输理论与计算 ——雷娜 顾险峰 【新书发布】

    缘起 1995年秋季 第二作者刚刚来到哈佛大学开始攻读计算机科学领域的博士学位 并在数学系学习丘成桐先生的微分拓扑课程 同时在麻省理工学院人工智能实验室学习Berthold Horn教授的机器人视觉课程 Horn教授提倡从物理的角度来理解视
  • 1.2.6 Linux distributions

    鸟哥的Linux私房菜 基础学习篇 xff08 第三版 xff09 第1章Linux是什么 xff0c 本章介绍为何Linux可以免除专利软件之争 xff0c 并且了解到Linux为何可以同时在个人计算机与大型主机上面大放光彩 本节为大家介
  • 全球40个免费电子图书馆网址~收藏

    中文 中图在线 xff08 提供 3600 种国外期刊的查阅服务 xff09 http cnplinker cnpeak com 国家哲学社会科学文献中心 xff08 提供 2039 种中文期刊 xff0c 7898 种外文期刊 xff09
  • 【docker】WSL+docker_desktop+GPU配置环境失败

    尝试windows下使用docker desktop安装深度学习的GPU环境 xff0c 结果很失败 xff0c GPU调用不了 我一共尝试两种方式调用GPU 第一种是新版本WSL2直接支持 xff0c 下载一个Nvidia官方的docke
  • public,private,protected 常见区别

    1 作用域public private protected 以及不写时的区别 答 xff1a 不写时默认为default 区别 作用域当前类 同一package子孙类其他packagepublic protected default pri
  • NETCONF协议netopeer软件安装与环境搭建

    NETCONF协议netopeer软件安装与环境搭建 目录 NETCONF协议netopeer软件安装与环境搭建 目录简介相关网站参考准备工作手动编译安装部份依赖包手动编译netopeer启动与验证 简介 最近工作涉及一些NETCONF协议
  • centos7 vnc黑屏解决办法

    手动安装的dbus与系统dbus冲突 xff0c 导致vnc启动黑屏 解决办法如下 xff1a 通过命令 find name 34 dbus daemon 34 查找安装的dbus 其中 usr bin dbus daemon 是系统自带的
  • OVS常用命令与使用总结

    OVS常用命令与使用总结 说明 在平时使用ovs中 xff0c 经常用到的ovs命令 xff0c 参数 xff0c 与举例总结 xff0c 持续更新中 进程启动 1 先准备ovs的工作目录 xff0c 数据库存储路径等 mkdir p et
  • 故障容忍分布式协调框架 Atomix

    Atomix 详细介绍 Atomix 是 JAVA8 的故障容忍分布式协调框架 Fault tolerant distributed coordination framework for Java 8 主要特性 xff1a list 可靠
  • 极几何,本质矩阵,基础矩阵,单应矩阵,相机投影矩阵

    什么是三角化 xff1f 三角化就是下图的红字部分 xff1a K和K 分别为两个相机的内参矩阵 什么是极几何 xff1f 极几何描述了同一场景或者物体在两个视点图像间的对应关系 下图中的O1和O2分别是两个相机的光心 xff0c 即摄像机
  • vncserver Cannot establish any listening sockets - Make sure an X server isn‘t already running(EE)

    说明vnc按顺序想要打开的可视化界面端口已被占用 xff0c 可以使用ps ef grep X命令查看一下进程里已经打开的图形化界面 xff08 有些是其他用户已打开的vnc xff0c 有些是系统默认已启用的图形界面 xff0c 不要随意
  • 如何处理linux Ubuntu网络不通的问题

    ubuntu 网络图标不见的问题解决方案 xff08 即无法联网解决方案 xff09 尝试以下操作 xff1a sudo service network manager stop sudo rm var lib NetworkManager
  • UCOSII学习---五、任务通信之信号量

    一 xff1a 信号量的理解 xff1a 信号量的本质是数据操作锁 xff0c 它本身不具有数据交换的功能 xff0c 而是通过控制其他的通信资源 xff08 文件 xff0c 外部设备 xff09 来实现进程间通信 xff0c 它本身只是
  • Python添加或去掉百分号

    数据 xff1a import pandas testing as tm data 61 tm makeDataFrame data 61 data iloc 5 示例数据 xff1a A B C D 6EBYVo9iQi span cla
  • MxNet(GPU版本)安装及相关配置(CUDA,CuDNN,Graphviz,d2l,虚拟环境配置)及最终建议

    深度学习框架MxNet配置 xff08 GPU版本 xff09 1 对应镜像 xff1a https mirrors aliyun com pypi simple mxnet 找到与自己电脑Python版本对应 xff08 命令行使用pyt
  • Kali Linux使用(含VMVare station player安装教程)

    VMware Workstation Player下载及安装配置 1 官方下载地址 xff1a VMvare Workstation Player 2 安装 xff1a 基本一路点 xff0c 需要注意的地方就是后面弄好了要重启一下 xff
  • 那些提升效率的tips(不定期更新中...)

    电脑插了网线可以上网却显示无internet 打开设备管理器 xff08 找不到在控制面板中搜索 设备管理器 xff09 找到网络适配器 选择网卡驱动程序 xff0c 先禁用设备再开启设备 xff08 重启 xff09 用MarkDownl
  • cmake的一个编译报错

    在一台新搭建的服务器上执行cmake的时候 xff0c 报了如下错误 xff1a cmake The C compiler identification is unknown The CXX compiler identification