问题标签 [msys2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
19135 浏览

windows - 如何使用 MSYS2 获取旧版本的软件包?

我决定尝试 CLion for Windows,它推荐使用 MinGW 或 Cygwin 进行编译。

我将MSYS2包管理器安装到默认文件夹中,C:\msys64通过运行update-core和更新它pacman -Su

然后我使用 下载了 MinGW64 包pacman -S mingw-w64-x86_64-gcc,该包已放入C:\msys64\mingw64.

问题是,pacman -S mingw-w64-x86_64-gcc当前下载的是 5.0 版本,CLion 尚不支持该版本。

MSYS2 是否支持安装旧版本的软件包(MinGW 版本4.9.2应该可以正常工作)?我尝试使用 搜索 MinGW 包pacman -Ss mingw,但列表非常长,而且我之前没有使用过 MinGW,我真的不知道该选择什么。

0 投票
1 回答
534 浏览

msys2 - msys2 和 mingw64 gcc 版本不匹配?(msys-perl)

我刚刚安装了 msys2 和 mingw64,以及它们的开发包。我真的需要perl-Gtk3。Perl是msys2,用gcc-4.9.x编译,Gtk和朋友是mingw,用gcc-5编译。

Perl 在构建 Glib 时抱怨“Glib.c:可加载库和 perl 二进制文件不匹配(握手密钥为 0xde00080,需要 0xdd80080)”。这应该工作吗?

谢谢。

PS ... mingw-w64-x86_64-perl 根本无法编译。是的,我很小心地使用 mingw shell 和 msys shell。

0 投票
0 回答
144 浏览

c++ - 使用 Windows 7、Eclipse CDT、MinGW 和 MSYS2 无法取消 C++ Makefile 构建

我正在维护一个在 Windows 上运行并由命名组件组成的 C++ 构建系统。当我们前段时间从 Windows XP 升级到 Windows 7 时,我们注意到可以再取消构建,Eclipse 取消按钮只是变灰,但构建总是运行到最后。我们进一步发现,通过使用 MSYS 而不是 MSYS2,构建也可以在 Windows 7 中取消,但是多核构建(例如 make -j4)从一开始就挂起(在使用 MSYS2 时)。我们需要多核,所以这不是解决方案。

我们做了一些研究并得出结论,MSYS2 使用 WinAPI 进程创建标志 CREATE_NEW_PROCESS_GROUP 启动 make 进程。我们假设这个标志在 Windows XP 中没有被执行来解释为什么 caneling 在那里工作。

我们读到 CREATE_NEW_PROCESS_GROUP 会导致另一个 WinAPI 调用 SetConsoleCtrlHandler(NULL,TRUE),这反过来会导致 Ctrl-C 被禁用,该进程只能由 Ctrl-Break 终止。我们可以通过从命令行测试我们的构建来验证这种行为。

这个问题的预期解决方案是什么?按取消时是否可以让 Eclipse 发送 Ctrl-Break 而不是 Ctrl-C?还是我们的 MSYS2 配置错误,它不应该在构建过程中抑制 Ctrl-C?还是我们的分析垃圾和问题完全不同?

0 投票
1 回答
1131 浏览

msys2 - 找不到 glib-gettext。在 msys2

我在 MSYS 2 下运行 autogen.sh 脚本。

到目前为止,我安装了所有请求的软件包,但是

我不明白。

名为的包glib-getext不存在。

我跑:

但没有成功。

我也跑:

希望这能解决我的问题,但事实并非如此。

我该怎么办glib-gettext

0 投票
1 回答
2708 浏览

c++ - 在 mingw-w64/msys2 中编​​译的应用程序,“应用程序无法正确启动(0xc00007b”

在 中编译应用程序后mingw-w64 64-bit Shell,它在 shell 内运行良好,但在 shell 外正常运行时会出错the application was unable to start correctly (0xc00007b)

当它抱怨丢失它们时,我从 msys2/mingw-w64 bin 目录中移动了一些必要的 DLL,但现在它给出了这个不透明的错误。我究竟做错了什么?

0 投票
0 回答
188 浏览

node.js - 我应该更改环境变量以在 Windows 中使用 msys git bash 下的节点脚本吗?

我应该更改环境变量以便能够在 Windows 中的 msys git bash 下使用我的 npm 脚本吗?

我有以下测试脚本:

在尝试运行此脚本时,我收到以下错误:

isparta 作为全局模块安装:

可以通过“which”和“where”找到它。

来自 msysgit 终端的 isparta:

来自 Windows cmd 的 isparta:

0 投票
1 回答
801 浏览

c++ - MSYS2 上的 GLEW APIENTRY 警告和可能相关的错误

我在尝试使用 MSYS2 的 SDL2 / GLEW / OpenGL 时收到一个令人困惑的编译器错误:

图形系统.h:

我不确定这是否可能是有意的。在触发警告的定义之上有一个定义,包含在 an#else#ifdef APIENTRY。警告由以下原因触发:

这似乎与许多其他问题有关,但其中大部分都讨论了包含的顺序——这个顺序似乎应该基于它们起作用:

通常我不会对此感到困扰,但由于 SDL 包含的标头中似乎是 APIENTRY 的问题,我也遇到了阻止我构建的错误。例如:

这似乎是一个不寻常的巧合,因为我很少遇到此类问题,只是将警告和错误放在一起。

为什么 glew.h 会有第二组#defines覆盖任何先前的#defines,当它达到防止破坏它们的目的时(有充分的理由)?这似乎注定会导致错误。我的 glew 包是不是坏了?

0 投票
1 回答
1007 浏览

msys2 - MSYS2/pacman 无法运行更新核心或同步数据库“文件名太长”错误

我正在尝试安装和使用 MSYS2(刚刚开始使用它)。我使用了安装程序 msys2-x86_64-20150916.exe,似乎一切正常。按照安装说明,我运行了 update-core 脚本和包数据库同步。两者都失败了。我在下面展示了更新核心脚本的一些输出。由于相同的“文件名太长”的原因,数据库同步失败。

我在 Windows 7 企业版上运行。

0 投票
1 回答
561 浏览

path - 如何让 CMake find_file 接受 MSYS2 上的 UNIX 样式路径?

我在 Windows 10 上使用 CMake 3.4.1 和 MSYS2(截至 2015 年 12 月 25 日的所有内容都是最新的)。

当我使用 CMake 的find_file命令时,除非路径是 Windows 样式,否则它将不起作用。这对我来说是个问题,因为我正在尝试使用findwxWidgets.cmake,因此失败了。

例如:

CMakeLists.txt:

跑步cmake吐出:

但它显然在那里:

我想知道这是否是一个错误,或者我必须设置一些晦涩的标志才能使其正常工作。如何让 CMakefind_file查找具有 UNIX 样式路径的文件?

0 投票
0 回答
367 浏览

c - GTK 链接器问题 Visual Studio C 项目

这是我尝试使用 GTK 库设置 Visual Studio 2013 的第三天。我需要使用 VS:我过去使用过 GCC(命令行和代码块)(在 windows 和 slackware linux 上也是如此),但现在我在 VS 中有很多项目,我想开始为他们制作一些 GUI。在看到所谓的“一体化捆绑”在 GTK 网站上不再可用/维护之后,我遵循了一堆教程(包括Visual Studio 2013 中的 GTK+ 3.0 设置如何在 Visual Studio 2010 上配置 gtk ,如何在 Windows 上安装 GTK+ 3.0?)我开始按照这个安装 MSYS2:https ://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk- Windows 上的应用程序/. 也许问题出在这里:我正确地执行了此步骤pacman -S mingw-w64-x86_64-toolchain,但是由于我不了解该过程,因此我跳过了 PKGBUILD 文件的创建和后续安装。此外,mingw 工具链似乎已经安装。

对不起,我想具体一点。 问题出在 Visual Studio C Project building 的链接阶段。我在编译时也遇到了一些问题,涉及inline对 VS 的不同解释(#define inline __inline // Necessary to make the GTK library Visual Studio compatible在调用 GTK 标头之前添加了定义)。链接阶段问题在于,使用pkg-config --libs gtk+-3.0 --msvc-syntax命令,我收到了/libpath:C:/msys64/mingw64/lib gtk-3.lib gdk-3.lib gdi32.lib imm32.lib shell32.lib ole32.lib -Wl,-luuid winmm.lib dwmapi.lib z.lib pangowin32-1.0.lib pangocairo-1.0.lib pango-1.0.lib atk-1.0.lib cairo-gobject.lib cairo.lib gdk_pixbuf-2.0.lib gio-2.0.lib gobject-2.0.lib glib-2.0.lib intl.libmsys2 目录中不存在的文件列表 ()。因此,我从链接器收到此错误:error LNK1104: cannot open file 'gtk-3.lib'.

有人遇到同样的问题(请参阅错误 3 错误 LNK1104:无法打开文件 'gtk-3.lib'),但解决方案是使用一体式捆绑包。

我该怎么办?我是否遵循了正确的程序或遗漏了什么?我还尝试链接到 VS 位于 mingw63 的 lib 目录中的 *.a 文件(例如 libgtk-3.dll.a),但链接器错误仍然存​​在。

最好的问候,并感谢您的关注

戴维德