關於gcc on windows的“拒絕訪問”問題

來源:互聯網
上載者:User

                                     關於gcc on windows的“拒絕訪問”問題

                                                     周銀輝 

裝了個GCC on Windows,本想可以爽一把,但不料:

 

開啟gcc所在目錄,發現gcc.exe只有56個位元組,咦,太小了吧,什麼東東哦,用ultraEdit開啟:
 

注意到了嗎?這是一個“symlink” (符號連結,linux下連結的一種,還有一種是永久連結,這裡你可以把符號連結簡單地理解為windows下的“捷徑”),呵呵,windows怎麼可能認識符號連結這種進階貨。
並且我們注意到這個符號連結是指向etc/alternatives/下的,說明其肯定是為了相容多個版本的gcc而搞的這麼個符號連結。
在gcc.exe所在的目錄下,發現了兩個shell指令碼(set-gcc-default-3.sh和set-gcc-default-4.sh),更是證明了這個觀點啊,開啟set-gcc-default-4.sh瞧瞧:

#!/bin/bash

# We only switch the alternatives that exist for both compilers;
# gdc, gpc, g77 and gfortran never get switched.

for x in gcc g++ gcj gnat ; do
  /usr/sbin/alternatives --set $x /usr/bin/$x-4.exe
done

なるほど ~~~

看到了嗎,gcc, g++, gcj,  gnat 都被映射到了對應的XXX-4版本

 

所以,解決方案就很容易得到啦:
1, 刪掉 gcc.exe, g++.exe, gcj.exe, gnat.exe 這四個東東,要著也沒用,windows不認識

2, 在相同目錄下,選擇你所需要的gcc,g++, gcj, gnat版本,我這裡選擇xxx-4版(其實我電腦上根本就沒-3版),所以我選中gcc-4.exe, g++-4.exe, gcj-4.exe, gnat-4.exe, 複製他們得到各個副本,並將副本重新命名為gcc.exe, g++.exe, gcj.exe, gnat.exe

3, 如果你電腦上有多個版本,並且某個時候又想切換到其他版本上去,那麼goto step 1 

注意:gcj和gnat不一定存在於你的電腦中,沒有的話,略過即可,其他的諸如abc.exe拒絕訪問的話,同理咯...

問題搞定:

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.