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. Cygwin和MinGW
- 3. mingw to cygwin
- 4. 在MinGW上使用gcc
- 5. 針對cygwin/mingw上的windows編譯
- 6. Mingw,Cygwin g ++,STL集
- 7. gnu cgi(cgicc)不能在使用MinGW/Cygwin的Windows上使用gcc編譯
- 8. Cygwin Gcc - 訪問
- 9. 使用GCC(MinGW)在Windows上編譯OpenGL
- 10. 來源爲在gcc/MinGW的
- 11. Cygwin gcc - asm錯誤:
- 12. 問題與std :: stoi,沒有在MinGW GCC 5.1.0上聲明
- 13. 如何在cygwin上安裝gcc-4.4?
- 14. GCC不能在Cygwin的
- 15. llvm-gcc和clang二進制文件是否與gcc兼容? - 尤其是在Windows上的mingw gcc
- 16. 非常慢的Fortran代碼與mingw gcc 4.7.0(與4.4.0相比)
- 17. 使用Cygwin作爲MinGW的外殼
- 18. 編譯與cython和mingw產生gcc:錯誤:無法識別的命令行選項'-mno-cygwin'
- 19. git cygwin是否支持Windows網絡共享上的存儲庫?
- 20. gcc cygwin編譯錯誤
- 21. 最小Cygwin安裝+ Perl + Gcc
- 22. 在cygwin中運行gcc
- 23. LLVM:用於Windows的llvm-gcc(mingw)的bitcode
- 24. 用MinGW-w64/Cygwin編譯freetype-2.4.9
- 25. 在gcc中的靜態鏈接(mingw)
- 26. SDL2項目建立在MinGW上但不是Cygwin使用CLion
- 27. 如何在建立在mingw/cygwin上時使PIL工作?
- 28. GCC/MingW在不同的版本上編譯
- 29. MingW GCC在linux上編譯用於windows的SDL程序?
- 30. cygwin gcc不正確的輸出與優化
對我而言最佳。 – iab 2013-09-10 12:11:19