Jeg har installeret Xcode og kommandolinjeværktøjerne fra Mac Developers-webstedet, som jeg har læst et par gange er en forudsætning. Jeg installerede også MacPorts-programmet. I terminal:

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

Alt ovenstående gik glat, indtil jeg skriver:

hash gcc

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

-bash: hash: gcc: ikke fundet

Jeg er tabt og gør ikke ved, hvordan du fortsætter med at installere gcc med succes på min Mac (som kører Mac OS X 10.9.1).

Meget forpligtet til ethvert forslag og eller alternativer til installation af gcc

Kommentarer

  • Har du brug for gcc specifikt? clang bruger den samme syntaks, kompilerer hurtigere og genererer hurtigere kode. De største fejl er blevet presset i de sidste par år.
  • En redigering vil hjælpe dette. Hvis du har en pakke, du skal kompilere, skal du angive den. Hvis du bare vil vide, hvordan du får gcc til at kompilere for det sjove, er det ' også fint, men svaret på en af dem er anderledes.
  • Hvad betyder det which gcc give?
  • Kontrollerede du din stivariabel i din ~ / .profil? Det skal pege på den mappe, hvor gcc er placeret.
  • Hvad viser; s -l / opt / local / bin / gcc *?

Svar

Det kan være bedre at installere gcc fra hjemmebrygget end Macports.

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

Der findes ca. 6 versioner af gcc fra denne pakkehåndtering. Se http://brew.sh for flere detaljer om homebrew-værktøjerne. Også denne tråd har flere detaljer om gcc og homebrew: Hvordan installerer jeg GCC via Homebrew? Endelig ligner gcc-fejlen i din shell denne tråd: Jeg installerede Xcode, men jeg har stadig ikke ' t har gcc i min terminal

Kommentarer

  • Hvorfor ville dette være bedre end macports?

Svar

Der kan være to problemer. Et problem er din vej. Du skal have / opt / local / bin foran / usr / bin i øjeblikket har du / opt / local / bin bag / usr / bin. På grund af dette linker g ++ sandsynligvis stadig til clang.

Det andet problem er, at du bruger kommandoen port select forkert. Porten vælg kommando laver automatisk en g ++ fl ag-link til din specificerede kompilator. I dette tilfælde skal den specificerede kompilator være mp-4.8 og skal –set i stedet for -set. Vejbeskrivelserne findes på denne webside http://dropbit.com/?p=84 .

Svar

Jeg tror ikke, at din port select-kommando gjorde, hvad du forventede. Manualen siger, at select-kommandoen vælger mellem flere versioner af en version port , som jeg mener er ikke din sag 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 kørt installationskommandoen til gcc (her version 4.9):

sudo port install gcc49

Du kan kontrollere, at du har installeret 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 derefter køre gcc med den fulde sti til binærfiler:

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 erstatte (midlertidigt eller permanent) clang-complier med gcc, kan du gøre det ved at indstille CC-env var følgende måde for eksempel:

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

Som en sidebemærkning bedes du venligst bemærk, at for at port select gccVersion skal fungere, skal 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 kigget på detaljerne i pakken, så jeg er ikke sikker på, om det fungerer mellem clang og portinstalleret gcc eller kun med flere forskellige versioner af portinstallerede gcc-pakker.

Kommentarer

  • Kun mellem gcc-pakker og port select skulle have fungeret
  • At ' s hvad jeg sagde i første sætning, kompis.
  • (MEN du skal installere gcc_select-pakken, hvilket ikke ser ud til at være tilfældet her).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *