Am instalat Xcode și instrumentele pentru linia de comandă de pe site-ul Mac Developers, pe care le-am citit de câteva ori este o condiție prealabilă. Am instalat și programul MacPorts. În terminal:

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

Toate cele de mai sus au mers fără probleme până când scriu:

hash gcc

Când apăs pe Enter, primesc următorul mesaj de eroare:

-bash: hash: gcc: not found

Am pierdut și nu știu cum să procedez pentru a instala cu succes gcc pe Mac-ul meu (care rulează Mac OS X 10.9.1).

Multe obligați la orice sugestii și / sau alternative la instalarea gcc

Comentarii

  • Ai vreun motiv pentru care ai nevoie de gcc în mod specific? clang folosește aceeași sintaxă, compilează mai repede și generează cod mai rapid. Bugurile majore au fost zdrobite în ultimii ani.
  • O editare ar ajuta acest lucru. Dacă aveți un pachet pe care trebuie să îl compilați, listați-l. Dacă doriți doar să știți cum să faceți compilația gcc pentru distracție, ' este bine, dar răspunsul la oricare dintre ele este diferit.
  • Ce înseamnă which gcc da?
  • Ați verificat variabila de cale în profilul dvs. ~ /.? Ar trebui să indice directorul în care se află gcc.
  • Ce arată; s -l / opt / local / bin / gcc *?

Răspuns

S-ar putea să fi mai bine să instalați gcc de la homebrew decât Macports.

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

Există aproximativ 6 versiuni de gcc disponibile de la acest manager de pachete. Consultați http://brew.sh pentru mai multe detalii despre instrumentele homebrew. De asemenea, acest fir are mai multe detalii despre gcc și homebrew: Cum pot instala GCC prin Homebrew? În cele din urmă, eroarea gcc din shell-ul dvs. este similară cu acest fir: Am instalat Xcode, dar încă nu am ' nu am gcc în terminalul meu

Comentarii

  • De ce ar fi mai bine decât macporturile?

Răspuns

Acestea ar putea fi două probleme. O problemă este calea dvs. Trebuie să aveți / opt / local / bin în fața / usr / bin în prezent aveți / opt / local / bin în spatele / usr / bin. Din această cauză, g ++ probabil că este încă conectat la clang.

Cealaltă problemă este că utilizați comanda de selectare a portului greșită. comanda select face automat un g ++ fl ag link către compilatorul specificat. În acest caz, compilatorul specificat ar trebui să fie mp-4.8 și ar trebui să fie –set în loc de -set. Indicațiile sunt pe această pagină web http://dropbit.com/?p=84 .

Răspuns

Nu cred că comanda dvs. de selectare a portului a făcut ceea ce vă așteptați. Manualul afirmă că comanda select selectează între mai multe versiuni ale un port versionat , care cred că nu este cazul dvs. aici:

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. 

După ce rulați cu succes comanda de instalare pentru gcc (aici versiunea 4.9):

sudo port install gcc49

Puteți verifica dacă ați instalat binele gcc:

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 

Puteți rula gcc cu calea completă la binarele:

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. 

Dacă doriți să înlocuiți (temporar sau permanent) clang complier cu gcc, puteți face acest lucru setând CC env var următoarele de exemplu:

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

Ca notă laterală, vă rugăm rețineți că pentru ca port select gccVersion să funcționeze, va trebui să instalați 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. 

Nu m-am uitat la detaliile pachetului, așa că nu sunt sigur dacă va funcționa între clang și port gcc instalat sau doar cu mai multe versiuni diferite de pachete gcc instalate în port.

Comentarii

  • Doar între pachetele gcc și selectarea portului ar fi trebuit să funcționeze
  • Acel ' s ceea ce am afirmat în prima teză, prietene.
  • (DAR trebuie să instalați pachetul gcc_select, ceea ce nu pare să fie cazul aici).

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *