GCC可以共存两个版本:本机窗口MinGW版本和cygwin linux版本?当在Cygwin上系统试图用MinGW版本的GCC进行编译时,事情就会出现问题,反之亦然。我如何保持GCC的两个版本?Cygwin上的GCC与MinGW共存
回答
精神调试表明你有一个或全部在你的全球路径。把两者都带出你的全局路径(gcc应该产生“错误的命令或文件名”或类似的从cmd.exe直接运行)并设置快捷方式,以便为每个快捷方式加载适当的环境。
我把他们俩安装在一起,和平共处。 Cygwin安装在c:\ cygwin中,而MinGW安装在c:\ msys \ mingw中。因为他们的环境是由他们各自的启动快捷方式设置的,所以我不必做任何不寻常的事情来使它们共存。
安装过程中必须有一些特定的步骤,导致它们以某种方式耦合在一起。如果你描述你的安装顺序和位置,也许有人可以提供额外的建议。
我将它们分开的方式是默认情况下使用Cygwin环境。 MinGW的东西不在我的默认路径中,我不使用任何MSYS程序。对于日常使用,您无法判断我是否安装了MinGW。
在当我需要测试与MinGW的一些罕见的情况下,我从运行在Cygwin Bash提示符,我称之为mingw
这个shell脚本:
#!/bin/sh
PATH=/cygpath/c/mingw/bin:/cygpath/c/windows/system32:/cygpath/c/cygwin/bin
echo "Say 'exit' to leave MinGW shell and restore Cygwin environment."
/usr/bin/bash --rcfile ~/.mingwrc
调整路径的味道。唯一重要的是它将MinGW bin目录放在Cygwin bin目录的前面。你可能还是要在PATH Cygwin的bin目录中的VI,LS等
该脚本的最后一行运行此脚本,~/.mingwrc
:
alias make=mingw32-make
PS1='MinGW: \W \$ '
不能同时使用这两个脚本因到Bash的工作方式。第二个脚本包含只有在“MinGW外壳”运行后才会发生的事情。 PS1的任务提醒你,你在MinGW shell中,并且别名确保键入“make”运行MinGW自己的make(1)程序而不是Cygwin的程序,因为我的MinGW Makefiles使用DOS命令而不是Bourne shell命令,是GNU make的MinGW端口的一个不同之处。如果你想在Cygwin make中使用MinGW编译器,你会留下别名。
当您退出MinGW子shell时,您将恢复先前的PS1,PATH和别名。
将两者都带出全球路径。然后创建一个新的文件*.cmd
用下面的(需要Cygwin的为例):
@echo off
rem file: start cmd with cygwin's path
cmd.exe /k path=C:\cygwin\bin;%path%
您可以在命令窗口中键入path
检查。
现在你可以使用cygwin了。该环境仅在cmd.exe
内有效。
- 1. __uint128_t上MinGW的GCC
- 2. gcc上的InterlockedOr8 MinGW
- 3. mingw to cygwin
- 4. Cygwin和MinGW
- 5. 在MinGW上使用gcc
- 6. 针对cygwin/mingw上的windows编译
- 7. gnu cgi(cgicc)不能在使用MinGW/Cygwin的Windows上使用gcc编译
- 8. Cygwin Gcc - 访问
- 9. arm-eabi-gcc - cygwin
- 10. 错误而编制的wxWidgets-2.8.12上的MinGW与GCC-4.8.1
- 11. 使用gcc编译(Windows上的cygwin)
- 12. QtCreator和MinGW GCC 4.8.1
- 13. 使用Cygwin和MinGW一起
- 14. 编译qt 4.7.3在mingw上用gcc 4.6
- 15. 使用GCC(MinGW)在Windows上编译OpenGL
- 16. 来源为在gcc/MinGW的
- 17. GCC库Cygwin安装
- 18. Cygwin gcc - asm错误:
- 19. 问题与std :: stoi,没有在MinGW GCC 5.1.0上声明
- 20. 在Cygwin上安装GCC-4.7.2失败
- 21. 如何在cygwin上安装gcc-4.4?
- 22. GCC不能在Cygwin的
- 23. Cygwin的GCC编译错误
- 24. llvm-gcc和clang二进制文件是否与gcc兼容? - 尤其是在Windows上的mingw gcc
- 25. 非常慢的Fortran代码与mingw gcc 4.7.0(与4.4.0相比)
- 26. MinGW gcc什么都不做
- 27. MinGW GCC无法识别MEMSTATUSEX?
- 28. 使用Cygwin作为MinGW的外壳
- 29. git cygwin是否支持Windows网络共享上的存储库?
- 30. 编译与cython和mingw产生gcc:错误:无法识别的命令行选项'-mno-cygwin'
对我而言最佳。 – iab 2013-09-10 12:11:19