Jag har installerat Xcode och kommandoradsverktygen från Mac Developers webbplats, vilket jag har läst några gånger är en förutsättning. Jag installerade också MacPorts-programmet. I terminal:

sudo port install gcc48 sudo port select -set gcc mp-gcc48 

Allt ovanstående gick smidigt tills jag skriver:

hash gcc

När jag trycker på enter får jag följande felmeddelande:

-bash: hash: gcc: hittades inte

Jag är förlorad och inte vet hur man fortsätter för att framgångsrikt installera gcc på min Mac (som kör Mac OS X 10.9.1).

Mycket skyldig till alla förslag och alternativ till installation av gcc

Kommentarer

  • Någon anledning till att du behöver gcc specifikt? clang använder samma syntax, kompilerar snabbare och genererar snabbare kod. De största buggarna har klämts under de senaste åren.
  • En redigering kan hjälpa till. Om du har ett paket som du behöver kompilera listar du det. Om du bara vill veta hur man gör gcc-kompilering för skojs skull är det ' bra men svaret på endera är annorlunda.
  • Vad gör which gcc ge?
  • Kontrollerade du din sökvägsvariabel i din ~ / .profil? Den ska peka på katalogen där gcc finns.
  • Vad visar; s -l / opt / local / bin / gcc *?

Svar

Det kan vara bättre att installera gcc från homebrew än Macports.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor brew update brew search gcc 

Det finns cirka 6 versioner av gcc tillgängliga från den här pakethanteraren. Se http://brew.sh för mer information om homebrew-verktygen. Även denna tråd har mer information om gcc och homebrew: Hur installerar jag GCC via Homebrew? Slutligen liknar gcc-felet i skalet den här tråden: Jag installerade Xcode men jag har fortfarande inte ' t har gcc i min terminal

Kommentarer

  • Varför skulle det vara bättre än macports?

Svar

Deras kan vara två problem. Ett problem är din väg. Du måste ha / opt / local / bin framför / usr / bin för närvarande har du / opt / local / bin bakom / usr / bin. På grund av detta länkar l ++ troligen fortfarande till clang.

Det andra problemet är att du använder kommandot port select fel. Porten välj kommando gör automatiskt en g ++ fl ag-länk till din angivna kompilator. I det här fallet ska den angivna kompilatorn vara mp-4.8 och bör vara –set istället för -set. Anvisningarna finns på denna webbsida http://dropbit.com/?p=84 .

Svar

Jag tror inte att ditt port select-kommando gjorde vad du förväntade dig. I manualen anges att select-kommandot väljer mellan flera versioner av en versionad port , som jag tror är inte ditt fall här:

pejvan$ port help select Usage: select --list --set --show --summary <arguments> Select between multiple versions of a versioned port This allows you to choose which version, among several installed versions of a port, is to be considered primary. What this means is which version becomes the one most would consider the default, e.g. the one run without specifying any version. 

När du har kört installationskommandot för gcc (här version 4.9):

sudo port install gcc49

Du kan verifiera att du har installerat gcc-binärer:

pejvan$ ls -l /opt/local/bin/gcc* -rwxr-xr-x 2 root admin 42912 3 Jun 03:44 /opt/local/bin/gcc-ar-mp-4.9 -rwxr-xr-x 3 root admin 1082788 3 Jun 03:44 /opt/local/bin/gcc-mp-4.9 -rwxr-xr-x 2 root admin 42992 3 Jun 03:44 /opt/local/bin/gcc-nm-mp-4.9 -rwxr-xr-x 2 root admin 43000 3 Jun 03:44 /opt/local/bin/gcc-ranlib-mp-4.9 

Du kan sedan köra gcc med hela sökvägen till binärfilerna:

pejvan$ gcc-mp-4.9 --version gcc-mp-4.9 (MacPorts gcc49 4.9-20140416_2) 4.9.0 20140416 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

Om du vill byta ut (tillfälligt eller permanent) clang complier med gcc, kan du göra det genom att ställa in CC env var följande sätt till exempel:

export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler

Som en sidnot, vänligen Observera att för att port select gccVersion ska fungera måste du installera gcc_select:

pejvan$ port info gcc_select gcc_select @0.1_8 (sysutils) Description: gcc_select installs files that allow "port select" to switch the default version of gcc. It symlinks the standard compiler executables in the MacPorts prefix to the selected version. 

Jag har inte tittat på detaljerna i paketet, så jag är inte säker på om det skulle fungera mellan clang och portinstallerad gcc eller bara med flera olika versioner av portinstallerade gcc-paket.

Kommentarer

  • Endast mellan gcc-paket och port select borde ha fungerat
  • Att ' s vad jag sa i första meningen, kompis.
  • (MEN du måste installera paketet gcc_select, vilket inte verkar vara fallet här).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *