2

我在 Windows 7 的 cygwin 上运行 mintty。我将 mintty.exe 设置为始终“以管理员身份运行”。我正在尝试从 mintty 中运行 cmake 以构建 Visual Studio 11 解决方案。

但是,当 cmake 尝试进行测试编译时,它会失败,因为CL.exe没有足够的权限来运行。我已将cmake.exedevenv.exe和我可以在磁盘上找到的所有CL.exe设置为始终“以管理员身份运行”,但这没有帮助。

当我从以管理员权限启动的 Windows 命令行运行相同的 cmake 命令时,它会成功。这告诉我 cmake 和 CL 可执行文件设置正确,但是以某种方式从 mintty / cygwin 调用它们会在没有管理员权限的情况下启动它们。

关于如何设置 cygwin 以使用“以管理员身份运行”设置启动所有外部可执行文件的任何想法?

编辑:有关我尝试的组合及其结果的更多信息。

在 cmd(非管理员)中运行 cmake(非管理员)会产生此处Could not COPY_FILE描述的错误。建议的解决方案是以管理员身份运行。devenv.execmake.exe

在 cmd(管理员)中运行 cmake(非管理员)可以工作。打开命令行时我得到管理员提示,没有提示运行 cmake。

在 cmd(非管理员)中运行 cmake(管理员)可以工作。弹出一个新的命令窗口,我得到管理员提示符来运行 cmake。

在 cmd (admin) 中运行 cmake (admin)可以工作。打开命令行时我得到管理员提示,没有提示运行 cmake。

在 mintty(非管理员)中运行 cmake(非管理员)会产生与在非管理员 cmd 中的非管理员 cmake 相同的结果。

在 mintty (admin) 中运行 cmake (non-admin)会产生一个不同的错误(在此处描述),这基本上归结为cl.exe没有以管理员身份运行。启动 mintty 时出现管理员提示。

在 mintty(非管理员)中运行 cmake(管理员)会生成cmakePermission denied可执行文件。

在 mintty (admin) 中运行 cmake (admin)会产生与非管理员 cmake 和 admin mintty 相同的结果。

4

1 回答 1

1

(由 OP 在问题编辑中回答。转换为社区 wiki 答案。请参阅没有答案的问题,但问题在评论中解决(或在聊天中扩展)

OP写道:

好的,我设法“解决”了它。问题是我总是以管理员身份运行 Visual Studio 11。(我这样做是为了将调试器附加到具有管理员权限的正在运行的进程,这是我工作所需要的。)当 VS11 始终以管理员身份运行时,它需要cmake以管理员身份运行,这反过来又需要cmdmintty以管理员身份运行行政。

现在为什么这适用于cmd而不是mintty,即为什么管理员升级没有一直到cl.exe我不知道。

于 2015-01-30T11:37:50.217 回答