问题标签 [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.
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,我真的不知道该选择什么。
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。
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?还是我们的分析垃圾和问题完全不同?
msys2 - 找不到 glib-gettext。在 msys2
我在 MSYS 2 下运行 autogen.sh 脚本。
到目前为止,我安装了所有请求的软件包,但是
我不明白。
名为的包glib-getext
不存在。
我跑:
但没有成功。
我也跑:
希望这能解决我的问题,但事实并非如此。
我该怎么办glib-gettext
?
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,但现在它给出了这个不透明的错误。我究竟做错了什么?
node.js - 我应该更改环境变量以在 Windows 中使用 msys git bash 下的节点脚本吗?
我应该更改环境变量以便能够在 Windows 中的 msys git bash 下使用我的 npm 脚本吗?
我有以下测试脚本:
在尝试运行此脚本时,我收到以下错误:
isparta 作为全局模块安装:
可以通过“which”和“where”找到它。
来自 msysgit 终端的 isparta:
来自 Windows cmd 的 isparta:
c++ - MSYS2 上的 GLEW APIENTRY 警告和可能相关的错误
我在尝试使用 MSYS2 的 SDL2 / GLEW / OpenGL 时收到一个令人困惑的编译器错误:
图形系统.h:
我不确定这是否可能是有意的。在触发警告的定义之上有一个定义,包含在 an#else
中#ifdef APIENTRY
。警告由以下原因触发:
这似乎与许多其他问题有关,但其中大部分都讨论了包含的顺序——这个顺序似乎应该基于它们起作用:
- 如何防止宏重新定义
- linux上的OpenGL库链接
- http://forums.codeguru.com/showthread.php?438957-Why-do-i-get-this-warning
- https://www.opengl.org/discussion_boards/showthread.php/163436-GLUT-and-macro-redefinition-errors
通常我不会对此感到太困扰,但由于 SDL 包含的标头中似乎是 APIENTRY 的问题,我也遇到了阻止我构建的错误。例如:
这似乎是一个不寻常的巧合,因为我很少遇到此类问题,只是将警告和错误放在一起。
为什么 glew.h 会有第二组#defines
覆盖任何先前的#defines
,当它达到防止破坏它们的目的时(有充分的理由)?这似乎注定会导致错误。我的 glew 包是不是坏了?
msys2 - MSYS2/pacman 无法运行更新核心或同步数据库“文件名太长”错误
我正在尝试安装和使用 MSYS2(刚刚开始使用它)。我使用了安装程序 msys2-x86_64-20150916.exe,似乎一切正常。按照安装说明,我运行了 update-core 脚本和包数据库同步。两者都失败了。我在下面展示了更新核心脚本的一些输出。由于相同的“文件名太长”的原因,数据库同步失败。
我在 Windows 7 企业版上运行。
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 样式路径的文件?
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.lib
msys2 目录中不存在的文件列表 ()。因此,我从链接器收到此错误:error LNK1104: cannot open file 'gtk-3.lib'
.
有人遇到同样的问题(请参阅错误 3 错误 LNK1104:无法打开文件 'gtk-3.lib'),但解决方案是使用一体式捆绑包。
我该怎么办?我是否遵循了正确的程序或遗漏了什么?我还尝试链接到 VS 位于 mingw63 的 lib 目录中的 *.a 文件(例如 libgtk-3.dll.a),但链接器错误仍然存在。
最好的问候,并感谢您的关注
戴维德