CMake 错误:在 Windows 上执行 make 失败

2024-01-11

我在尝试构建时遇到错误纳米信息项目 https://github.com/nanomsg/nanomsg在 Windows 7 中:

cmake ..
-- Building for: NMake Makefiles
-- The C compiler identification is GNU 4.7.1
-- Check for working C compiler: C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: "nmake" "/NOLOGO" "cmTC_5d837\fast"
-- Check for working C compiler: C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files (x86)/cmake-3.9.4-win64-x64/share/cmake-3.9/Modules/CMakeTestCCompiler.cmake:51 (message):
The C compiler "C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe" is not
able to compile a simple test program.

It fails with the following output:

Change Dir: C:/Users/User/Documents/Internal/nanomsg-master/build/CMakeFiles/CMakeTmp



Run Build Command:"nmake" "/NOLOGO" "cmTC_5d837\fast"



Generator: execution of make failed.  Make command was: "nmake" "/NOLOGO"
"cmTC_5d837\fast"





CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:29 (project)


-- Configuring incomplete, errors occurred!
See also "C:/Users/User/Documents/Internal/nanomsg-master/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/User/Documents/Internal/nanomsg-master/build/CMakeFiles/CMakeError.log".

I use gcc编译器和make from Mingw工具链,我可以成功运行gcc.exe and mingw32-make.exe举一个简单的例子。

在文件中CMakeCache.txt缓存变量设置如下:

//C compiler
CMAKE_C_COMPILER:FILEPATH=C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe

//Program used to build from makefiles.
CMAKE_MAKE_PROGRAM:STRING=nmake

我认为问题来自于CMAKE_MAKE_PROGRAM它应该采取的变量C:/Program Files (x86)/CodeBlocks/MinGW/bin/mingw32-make.exe,但是我不明白它从哪里获得价值nmake.

即使我手动更换它,我也会遇到同样的问题。

我的问题:

  • CMake如何填充Cache变量?
  • Why CMAKE_MAKE_PROGRAM取值nmake ?
  • 为什么手动更改此变量无法解决问题?

CMake 使用它根据内容检测到的值填充缓存文件CMakeLists.txt以及它包含的任何文件与任何-D提供给参数cmake.

在 Windows 上 CMake 将默认为 Microsoft 的nmake工具。覆盖它的方法是通过传递参数-G"MinGW Makefiles" to cmake,或者如果您使用 MSYS shell-G"MSYS Makefiles".

但有一个比它更快的构建工具make称为忍者(从https://ninja-build.org/ https://ninja-build.org/)你可以通过传递来使用-GNinja to cmake.

注意:我发现您正在使用 Code::Blocks 附带的旧 MinGW。 MinGW 有一个更新的后续版本,称为 MinGW-w64,它支持 Windows 32 位和 64 位。最近的独立版本可以从以下位置下载https://winlibs.com/ https://winlibs.com/并且它还包括ninja.exe.

P.S.:如果您在遵循这些提示后构建 nanomsg 源时遇到更多问题,请考虑通过-DNN_TESTS:BOOL=OFF to cmake

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

CMake 错误:在 Windows 上执行 make 失败 的相关文章

  • 在cmake中设置PKG_CONFIG_PATH

    我已经在本地构建了 opencv 并将其安装到本地目录 不是系统默认目录 opencv pc存在于该本地文件夹中的 pkgconfig 文件夹下 我怎样才能找到这个opencv pc来自 cmake 因为我想从我的程序链接并包含 openc
  • 如何使我的单元测试适应 cmake 和 ctest?

    到目前为止 我已经使用了一个临时的单元测试程序 基本上是由批处理文件自动运行的全部单元测试程序 尽管其中很多都明确地检查了他们的结果 但还有更多的作弊行为 他们将结果转储到版本控制的文本文件中 测试结果中的任何更改都会被颠覆标记 我可以轻松
  • 在 C 中使用 pow 时,CMake 可以检测是否需要链接到 libm 吗?

    对于某些编译器 using powC 程序中的某些其他函数需要链接到m library https stackoverflow com q 8671366 1959975 但是 某些编译器不需要这样做 并且在链接到m图书馆 C 也存在几乎相
  • 在cmake中集成bash测试脚本

    我有一个 C cmake 项目 它使用 Boost Test 进行单元测试 现在我想向 cmake 公开一系列 bash 脚本 用于集成测试 假设每个脚本在以下情况下返回 0PASS或某些情况下 0FAILURE 我希望每次运行时都执行每个
  • 如何使用 CMake 安装文件层次结构?

    我使用以下方法创建了文件列表 file GLOB RECURSE DEPLOY FILES PROJECT SOURCE DIR install 我想将所有这些文件安装在 usr myproject 但我想维护已安装文件夹上的文件树 ins
  • 为什么 cmake 在 git commit 后编译所有内容

    假设我有时在 Linux 上使用 cmake 2 8 编译一段代码 我更改了一个文件 my changed file 运行 cmake 并且只构建了这个文件 到目前为止 一切都很好 现在我想提交这个 git add my changed f
  • 将 Doctest 与代码一起使用时将实现放在哪里

    我在用着doctest https github com onqtam doctest用于我的 C 项目中的测试 我想将测试代码与我的实现放在一起 正如库所说是可能的 但我似乎不知道如何处理 doctest 实现代码 我有一个doctest
  • 将 dll/lib 链接到 cmake 项目

    我试图将库链接到我的 cmake 项目 但遇到链接器错误 我花了 2 个小时尝试解决这个问题 并创建了一个简单的项目 在其中对所有路径进行了硬编码 CMAKE MINIMUM REQUIRED VERSION 3 0 PROJECT Tes
  • Yocto 如何停止 cmake 在本机 sysroot 路径中查找链接?

    到目前为止 我正在尝试将 dlib python 模块添加到我的图像中 这是我正在研究的食谱 python3 dlib 19 21 1 bb SUMMARY A toolkit for making real world machine l
  • 动态加载库和共享全局符号

    由于我在动态加载的库中观察到全局变量的一些奇怪行为 因此我编写了以下测试 首先我们需要一个静态链接库 头文件test hpp ifndef BASE HPP define BASE HPP include
  • 如何将最新的 Windows SDK 版本传递给 CMake?

    如何将最新的 Windows SDK 版本传递给 CMake 这样我就不需要进入 Visual Studio 并从配置属性 常规中手动放置它 我在互联网上搜索 找到了 CMAKE SYSTEM VERSION 变量 并且尝试使用 set C
  • 如何将新的 Visual Studio 2017 cmake 功能与 gitlab CI 运行程序结合使用

    我以直接的方式为 Linux 设置了 gitlab ci runner cmake make make test 大致如下 variables GIT SUBMODULE STRATEGY recursive stages build te
  • 构建 OpenCV 时出错 :: MonitorFromRect 未在此范围内声明

    我试图建立OpenCV version 2 4 8与它一起使用CodeBlocks and MinGw 我按照以下指示进行操作here http kevinhughes ca tutorials opencv install on wind
  • 链接器失败:存档中的成员不是对象

    我正在尝试在 Windows 7 上使用 64 位 mingw 构建 Open CASCADE 6 7 1 库 我正在使用x86 64 4 9 1 release posix seh rt v3 rev1 from mingw w64 项目
  • CMake - 未定义参考

    我正在尝试将 gtest 包含到我的项目中 问题是我在 GTest 中收到未定义的引用错误 我正在尝试在 Gtest 中测试 Node 类 在节点的构造函数中 我使用类记录器 尽管我已将库记录器添加到 gtest target 中 但我仍然
  • C++ 中的错误分配异常

    在我的一个学校项目中 我被要求创建一个程序而不使用STL 在程序中我使用了很多 Pointer new Something if Pointer NULL throw AllocationError 我的问题是关于分配错误 有没有一个自动例
  • 使用cmake交叉编译gRPC

    我正在尝试使用 cmake 交叉编译 gRPC 我实际上做到了 不幸的是 我的方法涉及在 CMakeLists txt 内部进行修改 问题是 当我尝试编译 gRPC 时 它使用的是他刚刚编译的 protobuffer 它无法在 x86 计算
  • VS 2010 和 CMake:“rc”未被识别为内部或外部命令

    我正在尝试使用 VS 2010 和 CMake 在 Windows 10 Home 上构建一个项目 我收到以下错误 zutil c lib nologo out zlib lib adler32 obj compress obj crc32
  • CMake 错误:“add_subdirectory 未给出二进制目录”

    我正在尝试将 Google Test 集成到更大项目的子项目中 但找不到令我满意的解决方案 我有两个限制 Google Test 的源代码已经位于项目结构中的某个位置 因此不能使用 URL 从 git 存储库下载它 Google Test
  • 是否可以让 cmake 构建文件(CMakeLists.txt)不在 CLion 的根目录中

    是否可以让 cmake 构建文件 CMakeLists txt 不在 CLion 的根目录中 我目前正在开发的项目中 cmake 构建文件不在 CLion 项目的根目录中 在 out Debug 目录中 我希望 CLion 打开该项目的根目

随机推荐

  • 错误:Twilio 找不到具有指定发件人地址的频道

    我使用 twilio 作为 Whatsapp API 但现在的问题是我不断收到此错误 错误 Twilio 找不到具有指定发件人地址的频道 这是代码 const express require express const accountSid
  • 去掉图片上的注释框

    我想要做的是删除 5000 张图像中的红框 我为一个示例图像编写了一段Python代码 但我不知道哪里出了问题 我无法实现这样的目的 我很感激任何其他方法来解决这个问题 这是示例图像 https i stack imgur com fyc7
  • 如何使用 C# 获取所有复选框?

    In Asp net 我怎样才能访问每个checkbox存在于页面中使用C code 这让你每Checkbox在页面上 您可以更改form1到您想要在其中搜索的任何控件 foreach Control ctl in form1 Contro
  • 在 Android 中使用 MQTT 的基本步骤

    我是 Android 新手 希望使用 MQTT 作为来自服务器的 Android 推送通知程序 我读过有关 MQTT 的内容 但不太了解 如果有人使用过这个库 请告诉我我必须做什么才能开始使用它 我有一个 Java 服务器 在 Window
  • Javascript - 生成范围内的随机数,不包括某些数字

    基本上我正在创建一个网格并在其上绘制点 并且没有两个点可以位于完全相同的位置 3 4 与 4 3 不同 y 坐标必须在 2 和 7 之间 因此 2 3 4 5 6 7 x 坐标必须在 1 和 7 之间 我有一个 getRandom 函数 如
  • Python:BaseHTTPRequestHandler - 阅读原始文章

    如何阅读原始 http 帖子 STRING 我找到了几种用于读取帖子的解析版本的解决方案 但是我正在处理的项目提交了没有标头的原始 xml 有效负载 所以我试图找到一种方法来读取发布数据 而不将其解析为键 gt 值数组 self rfile
  • ByteBuffer 到 bigdecimal、二进制、字符串

    请检查本文底部的编辑我有一个字节缓冲区 128 位 其中有数字 我需要将其转换为大十进制 二进制 字符串 因为这些是使用 jdbc 时相应的 sql 映射 我可以使用库 API 来执行此操作吗 我看到 String valueof 不接受字
  • PHP CS Fixer File Watcher 导致 PHPStorm 中的文件缓存冲突

    I use a 文件观察者定义为这样 这是我的watchers xml file
  • 查找窗口错误 183

    有谁知道什么会导致FindWindow http msdn microsoft com en us library windows desktop ms633499 28v vs 85 29 aspx返回错误的函数 ALREADY EXIS
  • Flutter Web中如何获取本地IP

    我正在尝试在 Flutter Web 应用程序中获取本地 IP 地址 在互联网上搜索我发现了这个包 get ip0 4 0 它声明它正在网络下工作 我有这个功能 Future
  • C# 在运行时启用/禁用网络跟踪?

    在示例中 我可以发现跟踪是通过配置文件启用的 例如
  • 正确使用cudaDeviceReset()

    由于我怀疑 黑匣子 GPU 在一些较大的代码中没有完全关闭 其他人也许也是 https stackoverflow com questions 10294595 handling ctrlc exception with gpu 我会包括一
  • php - array_fill 负索引

    使用时php 数组填充 http php net manual en function array fill php和负指数 为什么php只填充第一个负索引 然后跳转到0 例如 array fill 4 4 10 应该填满 4 3 2 1
  • Windows 8 Consumer Preview + Visual Studio 11 Developer Preview 中的套接字 BUG

    我正在 Visual Studio 11 开发人员预览版中编写一个应用程序 在该应用程序使用 reader InputStreamOptions InputStreamOptions Partial 运行一段时间后出现此错误 选项集 An
  • Docker 镜像损坏?删除图层?

    系统重新启动后 现有的 docker 映像似乎已损坏 我尝试了以下方法 在该机器内重建一个泊坞窗 这有效 该图像运行良好 我拉了一个已经存在的图像 它说图层已经存在 但这个图像似乎仍然被损坏了 我觉得删除图像会有帮助 当我尝试删除时 似乎只
  • Pandas-创建一个新列,填充另一列中的观察数量

    我有一个 DataFrame 对象df 中的列值之一df is ID有许多行具有相同的 ID 我想创建一个新列num totals计算每个 ID 的观察次数 例如 这样的事情 ID Num Totals 1 3 1 3 1 3 2 2 2
  • 如何使用 Jersey (JAX-RS 2.0) 客户端启用 gzip 压缩以进行内容编码?

    我有一个使用 JAX RS 2 0 的 Jersey 实现的 Java 应用程序 我想在客户端启用 gzip 压缩 服务器已启用它 并且我已通过在 Chrome 中查看开发人员工具中客户端正在使用的特定 URL 的 大小 内容 来验证这一点
  • 自定义 UITextField 委托设置为 self 启动无限循环

    我正在编写 iPhone 应用程序 其中需要自定义 UITextField 类 对于我的文本字段 我需要缩进 文本之前的图像和最大字符数 为此 我创建了基于 UITextField 的自定义类 我所有的文本字段都将基于这个新类 我使用 Go
  • 如何从 Javascript 中的 HH:MM AM 时间字符串中减去小时?

    从格式如下的时间字符串中减去几个小时的最佳方法是什么 8 32 AM 我考虑过在冒号处拆分字符串 但是当从上午 1 00 减去 3 小时时 我得到 2 00 AM 而不是所需的晚上 10 00 最可靠的方法是将其转换为JS日期对象 然后你对
  • CMake 错误:在 Windows 上执行 make 失败

    我在尝试构建时遇到错误纳米信息项目 https github com nanomsg nanomsg在 Windows 7 中 cmake Building for NMake Makefiles The C compiler identi