Jeg har installert Xcode og kommandolinjeverktøyene fra nettstedet Mac Developers, som jeg har lest noen ganger er en forutsetning. Jeg installerte også MacPorts-programmet. I terminal:

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

Alt det ovennevnte gikk greit til jeg skrev:

hash gcc

Når jeg trykker på enter, får jeg følgende feilmelding:

-bash: hash: gcc: ikke funnet

Jeg er tapt og ikke vet hvordan du skal fortsette for å kunne installere gcc på min Mac (som kjører Mac OS X 10.9.1).

Mye forpliktet til alle forslag og eller alternativer til å installere gcc

Kommentarer

  • Noen grunner til at du trenger gcc spesifikt? clang bruker samme syntaks, kompilerer raskere og genererer raskere kode. De største feilene har blitt klemt de siste årene.
  • En redigering vil hjelpe dette. Hvis du har en pakke du trenger å kompilere, kan du oppgi den. Hvis du bare vil vite hvordan du lager gcc-kompilering for moro skyld, er det ' også bra, men svaret på en av dem er annerledes.
  • Hva gjør which gcc gi?
  • Kontrollerte du stivariabelen din i ~ / .profilen din? Den skal peke på katalogen der gcc er plassert.
  • Hva viser; s -l / opt / local / bin / gcc *?

Svar

Det kan være bedre å installere gcc fra hjemmebrygget enn Macports.

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

Det er omtrent seks versjoner av gcc tilgjengelig fra denne pakkebehandleren. Se http://brew.sh for mer informasjon om hjemmebryggingsverktøyene. Også denne tråden har flere detaljer om gcc og hjemmebrygging: Hvordan installerer jeg GCC via Homebrew? Til slutt ligner gcc-feilen i skallet ditt denne tråden: Jeg installerte Xcode, men jeg har fortsatt ikke ' t har gcc i terminalen min

Kommentarer

  • Hvorfor ville dette være bedre enn macports?

Svar

Det kan være to problemer. Det ene problemet er veien din. Du må ha / opt / local / bin foran / usr / bin for øyeblikket har du / opt / local / bin bak / usr / bin. På grunn av dette kobler g ++ sannsynligvis fremdeles til clang.

Det andre problemet er at du bruker kommandoen port select feil. Porten velg kommando lager automatisk en g ++ fl ag-lenke til spesifisert kompilator. I dette tilfellet skal den spesifiserte kompilatoren være mp-4.8 og skal være –set i stedet for -set. Veibeskrivelsen er på denne websiden http://dropbit.com/?p=84 .

Svar

Jeg tror ikke at port select-kommandoen din gjorde det du forventet. Håndboken sier at select-kommandoen velger mellom flere versjoner av en versjonert port , som jeg mener er ikke saken din her:

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 kjørt installasjonskommandoen for gcc (her versjon 4.9):

sudo port install gcc49

Du kan bekrefte at du har installert gcc-binærfiler:

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 deretter kjøre gcc med hele banen til binærfilene:

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. 

Hvis du vil bytte ut (midlertidig eller permanent) clang complier med gcc, kan du gjøre det ved å stille inn CC env var følgende måte for eksempel:

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

Som en sidemerknad, vær så snill Vær oppmerksom på at for at port select gccVersion skal fungere, må du installere 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. 

Jeg har ikke sett på detaljene i pakken, så jeg er ikke sikker på om den vil fungere mellom clang og portinstallert gcc eller bare med flere forskjellige versjoner av portinstallerte gcc-pakker.

Kommentarer

  • Bare mellom gcc-pakker og portvalg burde ha fungert
  • At ' s det jeg sa i første setning, kompis.
  • (MEN du må installere pakken gcc_select, som ikke ser ut til å være tilfelle her).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *