标签: msys2

如何更改MSYS2上的HOME目录和启动目录?

我安装了MinGW-w64和MSYS2.但是如何在MSYS2中更改HOME目录?因此,当我输入cd $ home或cd~时,它会转到我定义的另一个目录.

我如何编写代码,以便起始目录始终放在.bat文件的位置?

在cmd中我使用了这段代码:

%~d1 cd"%~p1"调用cmd

所以当我在桌面上打开cmd时,它从桌面上的目录开始.

我怎么能用msys2做类似的事情?

windows gcc mingw-w64 msys2

15
推荐指数
3
解决办法
1万
查看次数

如何在Windows上运行带有msys2的CLion

如何在Windows上使用msys2运行clion?我已经设置了工具链,但是当它找不到时<socket.h>.在此输入图像描述

msys2 clion

14
推荐指数
1
解决办法
4550
查看次数

Qt GUI主题看起来很老套

当我自己从源代码交叉编译Qt 5.8.0并使用它来构建Qt Widgets for Microsoft Windows 的Qt"动态布局"示例时,它看起来过时了,好像它在Windows 2000上运行一样,如图所示左下方的窗口.不过,如果我使用预建的MinGW-W64-x86_64的-QT5静电包装从编译完全相同的程序(5.8.0-1版)MSYS2,它看起来像一个漂亮现代的Windows应用程序,如在右边的窗口下面.如何修复我的Qt版本,以便用它构建的GUI看起来不错?是否有我缺少的配置选项?

左:我编译的Qt. 右:Qt由MSYS2项目编译

要研究的是QWindowsVistaStyle课程.我注意到当我在MSYS2中编译我的程序时,我不得不添加,-luxtheme因为该类引用了一些函数,比如GetThemeColor.这些功能仅适用于Windows Vista及更高版本.当我在Linux上使用我自己的Qt进行交叉编译时,我不需要那个库,所以也许这个类在我的构建中被禁用了.

交叉编译的Qt构建细节

我使用我的nixcrpkgs存储库的commit f51d834构建了交叉编译的Qt和看起来很旧的动态布局示例.如果查看该提交中的代码,它将向您显示运行构建mingw-w64交叉编译器的命令,并构建Qt,并构建Qt示例,包括动态布局.如果您安装Nix,下载nixcrkpkgs,然后nix-build -A pkgs.i686-w64-mingw32.qt.base-examples在nixcrpkgs目录中运行,您可以自己构建它.您可以在该提交中查看我的Qt包的构建配方.

MSYS2构建细节

我在MSYS2中的MINGW64 shell中运行此脚本来构建示例并获得了良好的结果.它依赖于MSYS2的mingw-w64-x86_64-qt5-static软件包.您可以看到该构建配方.

c++ qt themes qt5 msys2

14
推荐指数
3
解决办法
6019
查看次数

如何在Windows 7+和MSYS2上的GTK3上获取本机Windows装饰

我试图将我的应用程序从linux移植到Windows,我有一个主题问题.在Linux中,这是一个盒子,只需编译它,应用程序使用良好的主题,看起来像本机.

我在MSYS2中安装了gtkmm3和gtk3,我正在用CMake构建它.这没关系,我不得不将所有dll复制到二进制目录以便能够执行它.我没有复制任何其他内容.我正在尝试创建"解压缩和执行"包.

我的问题是,该应用程序看起来不合适.它看起来并不原生.窗口周围有阴影,这在Windows10中很好,但在Windows 7中它看起来不是原生的.还缺少几个图标.

Windows10上的坏gtk3应用程序主题

甚至gitk3-demo也以相同的方式看起来非原生(但它至少有最小化/最大化/关闭图标正确).

所以问题是:如何在Windows上实现GTK3应用程序的原生外观?或者至少是原生的窗户装饰品?

谢谢

gtk gtkmm gtk3 msys2 gtkmm3

13
推荐指数
2
解决办法
8669
查看次数

如何将MSYS2 shell集成到Window上的Visual Studio代码中?

我试图将MSYS2 shell集成到Visual Studio Code集成终端中.这是我的用户设置:

{
    "terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
    "terminal.integrated.shellArgs.windows": ["--login", "-i"]
}
Run Code Online (Sandbox Code Playgroud)

但是,我遇到了--login将当前工作目录更改为Windows主页的问题.我希望当前目录位于我的工作区的根目录.

我的进一步尝试是我尝试添加一个标志-c 'cd ${workspaceRoot}'.然而,bash会在开始时崩溃.我可以正确得到当前目录中去除--login,但没有登录模式,所有其他的shell命令(ls,cd,等)不可用.

如何将MSYS2 shell正确集成到我的vscode中?

bash shell msys2 visual-studio-code

13
推荐指数
4
解决办法
9544
查看次数

msys2:尽管(MSYS2_PATH_TYPE = 继承)找不到 Windows 程序

在 Windows 10 上使用 MSYS2 64 位版本 20161025...

我无法让 msys2 识别 Windows 路径中的程序。例如,在使用 Windows 安装程序安装 Go 版本 1.8.3 后:(1) Cygwin 找到 go.exe (2) Windows 命令提示符找到 go.exe 但 (3) MSYS2 没有。

请参考附图。提前致谢。 在此处输入图片说明

windows environment-variables mingw-w64 msys2

12
推荐指数
1
解决办法
4981
查看次数

更改git bash的根目录(/)

有没有办法在Windows上更改git bash的根目录(/).

默认情况下,它设置为安装文件夹.将其设置为c:\而不是需要在所有绝对路径上键入驱动器号,例如/ c/some/path.

windows git bash msys2

11
推荐指数
1
解决办法
1万
查看次数

MSYS2 - 安装gcc还是工具链?

我使用的是便携式MSYS2 + MinGW64.我的意思是获得gcc.

一些消息来源表示安装gcc,例如

$ pacman -Sy mingw-w64-i686-gcc
$ pacman -Sy mingw-w64-x86_64-gcc
Run Code Online (Sandbox Code Playgroud)

http://www.cplusplus.com/forum/windows/227005/

其他人(主要是在github)表示安装toolchain,例如

$ pacman -Sy mingw-w64-x86_64-toolchain
Run Code Online (Sandbox Code Playgroud)

https://github.com/tpaviot/oce/issues/631

https://github.com/Alexpux/MSYS2-packages/issues/293

https://github.com/orlp/dev-on-windows/wiki/Installing-GCC--&-MSYS2

如果有的话,选择其中一个的原因是什么?

gcc mingw toolchain msys2

11
推荐指数
1
解决办法
6613
查看次数

msys2和docker运行指定命令:在docker中运行之前在本地查找命令

在msys2中,任何时候我尝试执行一个docker run [image] [cmd]命令,这样我试图在docker容器中运行时会覆盖Dockerfile中指定的命令,它会在本地查找命令,如果它不存在则会失败.

例如,我的组织有一个docker镜像,其中python可执行文件位于,/usr/src/venv/bin/python而python不在$PATH.这不是我的本地python安装的地方,当我尝试运行时,docker run myimage /usr/src/venv/bin/python test.py我得到这个错误:OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"C:/msys64/usr/src/venv/bin/python\": stat C:/msys64/usr/src/venv/bin/python: no such file or directory"这个图像不是一个Windows图像,所以它不应该看着C:所以所以我必须得出结论它在本地寻找该命令而不是在容器内.

注意:我正在运行的$PATHdocker 是添加到msys2内部的Windows的Docker .

$ which docker
/c/Program Files/Docker/Docker/Resources/bin/docker.exe
Run Code Online (Sandbox Code Playgroud)

我使用过的一个解决方法是创建一个新的Dockerfile,它只有一行代表我想要的图像,另一个就是我想要的命令.然后我可以在docker run some-image不指定命令的情况下运行并且它可以工作

有没有什么方法可以在msys2中解决这个问题而不需要上面描述的烦人的解决方法?

docker msys2

10
推荐指数
1
解决办法
188
查看次数

如何在msys2中使用gitk?

我在Windows 10中使用MSYS2 git工作正常,但是gitk给出错误:

/usr/bin/gitk: line 3: exec: wish: not found
Run Code Online (Sandbox Code Playgroud)

一些谷歌搜索建议这可能是因为没有安装TK,但我试过:

pacman -S tk
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

error: target not found: tk
Run Code Online (Sandbox Code Playgroud)

如何让gitk在这种环境中工作?

windows git msys2

9
推荐指数
1
解决办法
2582
查看次数