使用 MinGW-w64 在 MSYS2 上编译 BASIS

2023-12-06

我正在努力追随这些说明使用 MinGW-w64 编译器在 MSYS2 上编译安装 BASIS(CMake 构建系统和软件实现标准)。但是,那ccmake ..步骤失败:

-bash:ccmake:找不到命令

我尝试通过以下方式搜索 MSYS2 软件包pacman -Ss ccmake没有结果。所以我想我必须使用命令行cmake反而:

cmake -DCMAKE_INSTALL_PREFIX:PATH=~/local -DBUILD_APPLICATIONS:BOOL=ON -DBUILD_EXAMPLE:BOOL=ON ..

失败原因:

CMake Error at src/cmake/modules/ProjectTools.cmake:876 (message):
  CMAKE_INSTALL_PREFIX must be an absolute path!
Call Stack (most recent call first):
  src/cmake/modules/ProjectTools.cmake:2525 (basis_installtree_asserts)
  src/cmake/modules/ProjectTools.cmake:2751 (basis_project_begin)
  CMakeLists.txt:69 (basis_project_impl)

作为解决方法,我改变了~/local to /home/<userName>/local这似乎正在发挥作用。但是,我不知道 MakeFile 在哪里,因为运行时make .我收到错误:

mingw32-make: *** 未指定目标且未找到 makefile。停止。

鉴于我有alias make='mingw32-make in the ~/.bashrc文件。如果您能帮助我了解问题所在以及如何解决它,我将不胜感激。我有 MSYS2-MinGW-w64 包mingw64/mingw-w64-x86_64-cmake安装。我的Windows版本是1909, MSYS_NT-10.0-18363 是我的环境。

P.S.1.查看 CMake 的输出,我现在看到实际上有一个警告:

CMake Warning (dev) in CMakeLists.txt:
  No project() command is present.  The top-level CMakeLists.txt file must
  contain a literal, direct call to the project() command.  Add a line of
  code such as

    project(ProjectName)

  near the top of the file, but after cmake_minimum_required().

  CMake is pretending there is a "project(Project)" command on the first
  line.
This warning is for project developers.  Use -Wno-dev to suppress it.

这对于这个项目来说有点讽刺,但我不确定这是否是编译失败的原因。

P.S.2.我有mingw64/mingw-w64-x86_64-cmake安装的软件包,其中没有ccmake工具。但是msys/cmake做。所以:

  • pacman -R mingw-w64-x86_64-cmake
  • pacman -S msys/cmake

now ccmake可用。


好的,我想我通过使用 MSVC 编译器找到了一个临时解决方法:

  • cmake -DCMAKE_INSTALL_PREFIX:PATH=/home/<userName>/local -DBUILD_APPLICATIONS:BOOL=ON -DBUILD_EXAMPLE:BOOL=ON .. -G "Visual Studio 15 2017 Win64"
  • cmake --build . --config release --target install
  • 可执行文件是~/local/Bin/basisproject.cmd它有一个奇怪的文件扩展名,但似乎正在工作!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MinGW-w64 在 MSYS2 上编译 BASIS 的相关文章

随机推荐

  • 无需用户交互即可触发的 Javascript 事件?

    我的表单上的文本框可能会根据各种下拉列表中选择的内容而变化 有没有办法在文本框值更改时调用 JavaScript 函数 尝试了 onchange 事件 但这似乎只有在用户手动更改文本框值时才有效 Cheers Breand n 不会 由 j
  • Java Swing:蝇量级 vs 新窗口

    我正在开发一个新的应用程序 我将同时打开一些窗口 我目前正在尝试设计 GUI 但我正在努力解决两个选择 我可以使用侧面导航面板并使用页面的中心来显示每个面板的内容 这些面板将根据享元模式进行存储 我将在单击导航按钮时隐藏 显示它们 以便在隐
  • 纯 CSS 折叠手风琴

    我有一个 CSS 折叠手风琴 只有纯 CSS 它工作完美 我只有 1 个问题 现在 如果用户单击任何标签 标签一 标签二 标签三 他无法再次单击标签将其关闭 如果用户单击下一个标签 每个标签都可以关闭 我想让它成为可能 例如 用户单击标签一
  • Pandas:计算平均值,忽略自己行的值[重复]

    这个问题在这里已经有答案了 我想按组计算平均值 忽略行本身的值 import pandas as pd d col1 a a b a b a col2 0 4 3 5 3 4 df pd DataFrame data d 我知道如何按组返回
  • 获取文件移动日期时间

    当您复制文件时 在 Windows 环境中 Creation 和 LastAccess 日期时间会被修改 并且可以使用FileInfo object 但是 我找不到任何可靠的日期时间 直接链接到文件 当文件移动到文件夹中时 该日期时间会发生
  • 如何在 C++ 中将数字转换为字符串,反之亦然

    由于这个问题每周都会被问到 所以FAQ可能会帮助很多用户 如何在 C 中将整数转换为字符串 C 中如何将字符串转换为整数 如何在C 中将浮点数转换为字符串 C 中如何将字符串转换为浮点数 C 11 更新 截至C 11标准 字符串到数字的转换
  • 根据数组元素的属性获取数组元素的索引

    我有一个 JavaScript 对象数组 如下所示 var myArray 每个物体都有独特的id除其他属性外 id 4 property1 something property2 something 如果我只知道它 如何获取该数组中特定对
  • 未捕获的ReferenceError:进程未定义react-bootstrap

    我正在尝试将 React bootstrap js 文件包含到我的项目中几个小时 我是反应新手 我只会将它用于客户端 我尝试从 CDN 包含 但无法正常工作 React Bootstrap Uncaught ReferenceError 未
  • 是否可以从 Azure Python SDK 获取 ASC 位置?

    我正在使用以下方法获取订阅的安全分数Microsoft Azure 安全中心 ASC 管理客户端库 库中的所有操作都表明 您不应该直接实例化此类 而应创建一个 Client 实例 该实例将为您创建该类并将其附加为属性 因此 我正在创建一个安
  • 使用带有 unicode 字符的 ng-pattern (Angular.JS) 会产生不良结果

    我正在使用 ng pattern 其输入字段应仅接受希伯来字符 我已经找出了希伯来字符的 unicode 数字 这是我的模式 scope onlyHebrewPattern u05D0 u05F3 g 我的表单输入
  • Html5 Canvas 变换算法 - 应用变换后查找对象坐标

    在 html5 画布上 我正在绘制对象 矩形 圆形等 这些对象具有缩放 倾斜 旋转等变换属性 这些对象可以嵌套 当我应用转换后 我想找到给定对象的精确 x y 坐标时 就会出现问题 但它超出了我的范围 致所有热衷于交互式计算机图形学的专家
  • 在 Visual Studio 代码扩展中捕获击键

    我希望能够在 Visual Studio 代码扩展中捕获击键 我需要知道添加或删除的新文本以及文件中更改的位置 我已经注册了一个监听器 vscode window onDidChangeTextEditorSelection handleC
  • 如何检查派生类的类型? (C++ 实例)

    假设我有一些基本抽象类和三个派生并实现其方法的不同类 是否有像 C 中那样的 类型 对象 或者换句话说 我如何获取所有这些类的实例 ModuleBase cpp class ModuleBase Module1 cpp class Modu
  • ggplot:根据条形图中的名称更改堆叠条形的顺序

    ggplot data aes x ab y Freq total fill Result geom bar stat identity theme strip text x element text size 8 angle 0 stri
  • 如何使用 rsa 从 PEM 文件解密

    我使用以下 C 代码使用 rsa 和 PEM 文件进行加密和解密 public string encrypt string elementToEncrypt string pathPrivateKey string pem System I
  • 淡化标签文本的结尾

    我有一个UILabel 我想淡化字符串的末尾 这将超出范围 对此有什么更好的解决方案 我应该计算标签的宽度 将其与字符串宽度进行比较 如果字符串宽度大于标签的宽度 我应该淡出最后两个字母吗 我到底应该怎么做 我希望这会很容易 请写出你的解决
  • 如何绘制一个只是圆形的自定义 UIView - iPhone 应用程序

    我将如何绘制一个实际上只是一个球 一个 2D 圆圈 的自定义 UIView 我会重写drawRect方法吗 有人可以告诉我绘制蓝色圆圈的代码吗 另外 可以在类本身中更改该视图的框架吗 或者我是否需要更改不同类别的框架 只是想设置一个弹跳的球
  • 性能:findIndex 与 Array.prototype.map [重复]

    这个问题在这里已经有答案了 In 2019 如果我正在处理一个长度在 15000 以上的对象数组 并且我需要按值查找对象的索引 那么以下哪种方法将是我在性能方面的最佳选择 六岁的 答案 在对象数组中 查找属性与搜索匹配的对象的索引的最快方法
  • 从Win32_PrintJob获取总页数

    Win32 PrintJob WMI 类具有许多属性 看 MSDN 上的 Win32 PrintJob 我有一个小型 NET 应用程序 用于显示打印作业并显示作业信息 The TotalPages属性给出了发送的页面数量 但该数字并未考虑用
  • 使用 MinGW-w64 在 MSYS2 上编译 BASIS

    我正在努力追随这些说明使用 MinGW w64 编译器在 MSYS2 上编译安装 BASIS CMake 构建系统和软件实现标准 但是 那ccmake 步骤失败 bash ccmake 找不到命令 我尝试通过以下方式搜索 MSYS2 软件包