„Uruchomienie nie powiodło się. Nie znaleziono pliku binarnego. ”Problem ze środowiskiem IDE Snow Leopard i Eclipse C / C ++

Nie pytanie, właśnie przeczesałem internet w poszukiwaniu rozwiązania tego problemu i pomyślałem, że podzielę się nim z dobrymi ludźmi z SO. Ujmę to w prosty sposób, aby był dostępny dla newbs. :) (Przepraszam, jeśli to niewłaściwe miejsce - po prostu staram się być pomocnym.)

Ten problem występuje w prawie każdym systemie operacyjnym OS X Snow Leopard, który próbuje używać środowiska Eclipse C / C ++ IDE, ale jest szczególnie denerwujący dla ludzi (takich jak ja), którzy używali środowiska Eclipse C / C ++ IDE w systemie Leopard i nie mogli pracować z Eclipse już po aktualizacji. Problem występuje, gdy użytkownicy przechodzą do budowania / kompilowania / łączenia swojego oprogramowania. Otrzymują następujący błąd:

Uruchomienie nie powiodło się. Nie znaleziono pliku binarnego.

Ponadto gałąź „binaria” w oknie projektu po lewej stronie po prostu nie istnieje.

THE PROBLEM: czy GCC 4.2 (GNU Compiler Collection) dostarczany z Snow Leopard domyślnie kompiluje pliki binarne w 64-bitowym systemie. Niestety linker, którego używa Eclipse, nie rozumie 64-bitowych plików binarnych; odczytuje 32-bitowe pliki binarne. Mogą występować inne problemy, ale w skrócie, nie są one generowane przez binarne generowanie, przynajmniej nie takie, które Eclipse może odczytać, co przekłada się na to, że Eclipse nie znajduje plików binarnych. Stąd błąd.

Jednym z rozwiązań jest dodanie flagi -68 i686 podczas tworzenia pliku, ale ręczne tworzenie pliku za każdym razem jest denerwujące. Na szczęście dla nas, Snow Leopard jest również wyposażony w GCC 4.0, który domyślnie kompiluje się w 32 bitach. Jednym z rozwiązań jest jedynie połączenie tego jako domyślnego kompilatora. W ten sposób to zrobiłem.

ROZWIĄZANIE: GCC są w / usr / bin, który jest zwykle ukrytym folderem, więc nie możesz go zobaczyć w Finderze, chyba że wyraźnie poinformujesz system, że chcesz zobaczyć ukryte foldery. W każdym razie to, co chcesz zrobić, to przejść do folderu / usr / bin i usunąć ścieżkę, która łączy polecenie GCC z GCC 4.2 i dodać ścieżkę, która łączy polecenie GCC z GCC 4.0. Innymi słowy, kiedy ty lub Eclipse próbujesz uzyskać dostęp do GCC, chcemy, aby polecenie trafiło do kompilatora, który domyślnie buduje 32 bity, tak aby linker mógł odczytać pliki; nie chcemy, aby przechodził do kompilatora kompilującego się w 64 bitach.

Najlepszym sposobem na to jest przejście do aplikacji / narzędzi i wybranie aplikacji o nazwie Terminal. Powinien pojawić się monit tekstowy. Powinien powiedzieć coś w rodzaju „(nazwa komputera): ~ (nazwa użytkownika) $” (z miejscem na dane użytkownika na końcu). Sposobem na wykonanie powyższych zadań jest wprowadzenie następujących poleceń, wpisanie każdego z nich w sekwencji VERBATIM i naciśnięcie enter po każdej pojedynczej linii.

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.0 cc
ln -s gcc-4.0 gcc
ln -s c++-4.0 c++
ln -s g++-4.0 g++

Podobnie jak ja prawdopodobnie wystąpi błąd, który mówi, że nie masz uprawnień dostępu do tych plików. Jeśli tak, spróbuj następujących poleceń:

cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++

Sudo może poprosić o hasło. Jeśli nigdy wcześniej nie używałeś sudo, spróbuj po prostu nacisnąć enter. Jeśli to nie pomoże, spróbuj hasła do głównego konta administratora.

INNE MOŻLIWE ROZWIĄZANIA Możesz wprowadzić zmienne budowania do Eclipse. Próbowałem tego, ale nie wiem wystarczająco dużo. Jeśli chcesz to odczuć, flagą, której prawdopodobnie będziesz potrzebować, jest -arch i686. Na poważnie GCC-4.0 działał dla mnie przez cały ten czas i nie widzę powodu, by teraz się zmieniać. Może istnieć sposób na zmianę domyślnych ustawień samego kompilatora, ale po raz kolejny nie wiem wystarczająco dużo na ten temat.

Mam nadzieję, że to było pomocne i pouczające. Dobre kodowanie!

questionAnswers(10)

yourAnswerToTheQuestion