我安装了MinGW-w64和MSYS2.但是如何在MSYS2中更改HOME目录?因此,当我输入cd $ home或cd~时,它会转到我定义的另一个目录.
我如何编写代码,以便起始目录始终放在.bat文件的位置?
在cmd中我使用了这段代码:
%~d1 cd"%~p1"调用cmd
所以当我在桌面上打开cmd时,它从桌面上的目录开始.
我怎么能用msys2做类似的事情?
当我自己从源代码交叉编译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看起来不错?是否有我缺少的配置选项?
要研究的是QWindowsVistaStyle
课程.我注意到当我在MSYS2中编译我的程序时,我不得不添加,-luxtheme
因为该类引用了一些函数,比如GetThemeColor
.这些功能仅适用于Windows Vista及更高版本.当我在Linux上使用我自己的Qt进行交叉编译时,我不需要那个库,所以也许这个类在我的构建中被禁用了.
我使用我的nixcrpkgs存储库的commit f51d834构建了交叉编译的Qt和看起来很旧的动态布局示例.如果查看该提交中的代码,它将向您显示运行构建mingw-w64交叉编译器的命令,并构建Qt,并构建Qt示例,包括动态布局.如果您安装Nix,下载nixcrkpkgs,然后nix-build -A pkgs.i686-w64-mingw32.qt.base-examples
在nixcrpkgs目录中运行,您可以自己构建它.您可以在该提交中查看我的Qt包的构建配方.
我在MSYS2中的MINGW64 shell中运行此脚本来构建示例并获得了良好的结果.它依赖于MSYS2的mingw-w64-x86_64-qt5-static软件包.您可以看到该包的构建配方.
我试图将我的应用程序从linux移植到Windows,我有一个主题问题.在Linux中,这是一个盒子,只需编译它,应用程序使用良好的主题,看起来像本机.
我在MSYS2中安装了gtkmm3和gtk3,我正在用CMake构建它.这没关系,我不得不将所有dll复制到二进制目录以便能够执行它.我没有复制任何其他内容.我正在尝试创建"解压缩和执行"包.
我的问题是,该应用程序看起来不合适.它看起来并不原生.窗口周围有阴影,这在Windows10中很好,但在Windows 7中它看起来不是原生的.还缺少几个图标.
甚至gitk3-demo也以相同的方式看起来非原生(但它至少有最小化/最大化/关闭图标正确).
所以问题是:如何在Windows上实现GTK3应用程序的原生外观?或者至少是原生的窗户装饰品?
谢谢
我试图将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中?
在 Windows 10 上使用 MSYS2 64 位版本 20161025...
我无法让 msys2 识别 Windows 路径中的程序。例如,在使用 Windows 安装程序安装 Go 版本 1.8.3 后:(1) Cygwin 找到 go.exe (2) Windows 命令提示符找到 go.exe 但 (3) MSYS2 没有。
有没有办法在Windows上更改git bash的根目录(/).
默认情况下,它设置为安装文件夹.将其设置为c:\而不是需要在所有绝对路径上键入驱动器号,例如/ c/some/path.
我使用的是便携式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
如果有的话,选择其中一个的原因是什么?
在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:
所以所以我必须得出结论它在本地寻找该命令而不是在容器内.
注意:我正在运行的$PATH
docker 是添加到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中解决这个问题而不需要上面描述的烦人的解决方法?
我在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在这种环境中工作?