损坏的 cygwin 的 git 命令

损坏的 cygwin 的 git 命令

似乎我的 Cygwin 下的 git 坏了,无法执行以下命令/usr/bin/git.exe --version/usr/bin/git.exe无法执行任何操作。如果我git.exe从 Windows 终端发出特定目录,我会收到以下消息:The procedure entry point __cxa_atexit could not be located in the dynamic link library cygwin1.dll我已使用apt-cyg命令安装了以下软件包:

git
git-completion
git-cvs
git-debuginfo
git-email
git-gui
git-oodiff
git-review
git-svn
gitk
gitweb

似乎二进制文件已安装:

$ which git.exe
/usr/bin/git.exe

$ ls -l /usr/bin/git.exe
-rwxr-xr-x+ 112 wakatana Domain Users 1636893 Jan 10  2015 /usr/bin/git.exe

$ md5sum.exe /usr/bin/git.exe
85f986f8c9ee8d9573fd9b1a05af4260 */usr/bin/git.exe

除了上面提到的之外,我没有安装任何其他二进制文件或第三方 git 工具。出了什么问题?

PS:我以非管理员用户身份运行此程序(我不能使用管理员帐户)。

答案1

根据您收到的错误,gitin的版本apt-cyg链接到了另一个(可能是较新)版本的 Cygwin。您收到的错误消息表明 DLL cygwin1(它是 Cygwin 的核心组件,提供所有 Unix API)缺少一个函数,可能是因为该函数是在编译您拥有的版本之后添加到库中的。

您可以检查程序或 DLL 所需的函数来自(其他)DLL(称为进口)并且 DLL 提供供其他代码调用(称为出口)有多种方式,但最好的方法之一是依赖性遍历器,一款可以在任何 Windows 版本上运行的免费实用程序,它非常有用,因此微软已将其包含在其构建工具的先前版本中。

解决办法可能就是更新您的 Cygwin 安装。相关导出似乎已添加到Cygwin 1.7.32-1,于2014年8月发布。请参阅此帖子:http://cygwin.1069669.n5.nabble.com/ANNOUNCEMENT-Updated-Cygwin-1-7-32-1-td110464.html。当然,您应该使用最新的可用发行版本。

相关内容