Nainstaloval jsem Xcode a nástroje příkazového řádku z webu Mac Developers, který jsem několikrát četl, je předpokladem. Také jsem nainstaloval program MacPorts. V terminálu:

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

Všechno výše uvedené proběhlo hladce, dokud nezadám:

hash gcc

Když stisknu klávesu Enter, zobrazí se následující chybová zpráva:

-bash: hash: gcc: not found

Jsem ztracen a ne vědět, jak postupovat při úspěšné instalaci gcc na můj Mac (na kterém běží Mac OS X 10.9.1).

Velmi zavázán jakýmikoli návrhy nebo alternativami k instalaci gcc

Komentáře

  • Nějaký důvod, proč potřebujete konkrétně gcc? clang používá stejnou syntaxi, rychleji se kompiluje a generuje rychlejší kód. Hlavní chyby byly v posledních několika letech rozmačkány.
  • Úpravy by tomu pomohly. Pokud máte balíček, který potřebujete zkompilovat, uveďte to. Pokud chcete jen vědět, jak sestavit gcc pro zábavu, je to ' také v pořádku, ale odpověď na kteroukoli z nich je jiná.
  • Co dělá which gcc dát?
  • Zkontrolovali jste ve svém souboru ~ / .profile proměnnou cesty? Měl by ukazovat na adresář, ve kterém se nachází gcc.
  • Co dělá; s -l / opt / local / bin / gcc * zobrazit?

Odpověď

Instalace gcc z homebrewu by vám mohla být lepší než Macports.

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

Od tohoto správce balíčků je k dispozici přibližně 6 verzí gcc. Viz http://brew.sh pro další podrobnosti o nástrojích homebrew. Také toto vlákno obsahuje více podrobností o gcc a homebrew: Jak nainstaluji GCC přes Homebrew? A konečně, chyba gcc ve vašem shellu je podobná tomuto vláknu: Nainstaloval jsem Xcode, ale stále ' nemám v terminálu gcc

Komentáře

  • Proč by to bylo lepší než macports?

Odpověď

Mohou to být dva problémy. Jedním problémem je vaše cesta. Před / usr musíte mít / opt / local / bin / bin v současné době máte / opt / local / bin za / usr / bin. Z tohoto důvodu g ++ pravděpodobně stále odkazuje na clang.

Dalším problémem je, že používáte nesprávný příkaz port select. příkaz select automaticky vytvoří fl ++ g ++ ag odkaz na zadaný překladač. V tomto případě by zadaný kompilátor měl být mp-4,8 a měl by být –set místo -set. Pokyny jsou na této webové stránce http://dropbit.com/?p=84 .

Odpovědět

Nemyslím si, že váš příkaz select port udělal to, co jste očekávali. V manuálu se uvádí, že příkaz select vybírá mezi několika verzemi verzí portu , který podle mého názoru není váš případ zde:

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. 

Po úspěšném spuštění instalačního příkazu pro gcc (zde verze 4.9):

sudo port install gcc49

Můžete ověřit, že máte nainstalované binární soubory 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 

Poté můžete spustit gcc s úplnou cestou k binární soubory:

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. 

Chcete-li (dočasně nebo trvale) nahradit clang complier pomocí gcc, můžete to udělat nastavením CC env var následující způsob například:

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

Jako vedlejší poznámku prosím nezapomeňte, že aby port select gccVersion fungoval, budete muset nainstalovat 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. 

Nezajímal jsem se o podrobnosti balíčku, takže si nejsem jistý, zda to bude fungovat mezi clang a portem nainstalovaným gcc, nebo pouze s několika různými verzemi portů nainstalovaných balíků gcc.

Komentáře

  • Pouze mezi balíčky gcc a výběrem portu mělo fungovat
  • To ' s to, co jsem uvedl v první větě, kámo.
  • (ALE je třeba nainstalovat balíček gcc_select, což se v tomto případě nezdá).

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *