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
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).
which gcc
gi?