Jak zmusić terminal do skompilowania pliku, który edytowałem przy użyciu Aquamacs?

0

Mam problem z uzyskaniem małego kodu źródłowego skompilowanego w terminalu. Jestem w tym zupełnie nowy (właśnie zacząłem kurs wprowadzający) ... Postaram się opisać sytuację najlepiej jak potrafię, więc proszę o wyrozumiałość.

Oto co zrobiłem:

Otworzyłem Aquamacs i zacząłem pracować nad nowym plikiem o nazwie „CerealBox”. Zauważyłem, że słowa nie są w kolorach, więc zacząłem grzebać, dopóki nie znalazłem ustawienia zmiany bufora na tryb C ++. Potem miałem kolory ...

Więc napisałem kod źródłowy i jestem prawie pewien, że wszystko zrobiłem dobrze (mój profesor napisał to krok po kroku na tablicy i skopiowałem go tylko do edytora).

Idę do terminalu i piszę

g++ -Wall -c CerealBox.cpp

zgodnie z instrukcją mojego profesora, a ta odpowiedź odpowiada:

„Brak takiego pliku lub katalogu”

„Brak plików wejściowych”.

Nie mam pojęcia co robić! Nikt w mojej klasie nie korzysta z systemu Mac OS, więc nie ma żadnej pomocy! Proszę, jeśli możesz, pomóż!

PS: Kiedy zapisuję plik CerealBox, pojawia się on w wyszukiwarce jako ikona pustej strony z nazwą CerealBox pod nim. Po kliknięciu pojawia się małe okno z kodem źródłowym w czarnym tekście. Czy nie powinno się to otwierać w Aquamacs po kliknięciu? Czy to mój błąd?

Inna sprawa, dlaczego Aquamacs nie działa na C ++ od samego początku, to znaczy, dlaczego nie dostaję kolorowych słów w momencie, gdy go uruchamiam? Nie sądzę, że miałem ten problem ostatnim razem, gdy go użyłem.

Andrea
źródło
#include <iostream> using namespace std; int main () {int weight_in_oz, boxes_per_ton; double oz_per_ton = 35273,92, weight_in_tons; cout << "Jaka jest waga w uncjach na pudełko płatków? \ n"; cin >> weight_in_oz; weight_in_tons = weight_in_oz / oz_per_ton; boxes_per_ton = oz_per_ton / weight_in_oz; cout << „Jeśli masz pudełko płatków, które waży” cout << weight_in_oz << ”uncji, to waży„ cout << weight_in_tons << ”ton metrycznych i potrzebujesz„ cout << boxes_per_ton << ”pól do wypełnienia jedna tona metryczna. \ n "; zwraca 0; }
Andrea
To jest kod źródłowy, który próbuję skompilować ... Napisałem „.cpp” na końcu nazwy i ciągle mi mówi, że mam błąd. Mówi: 167-206-54-24-dynamic: ~ andreagarcia $ g ++ -Wall -c CerealBox.cpp CerealBox.cpp: W funkcji 'int main ()': CerealBox.cpp: 17: error: oczekiwano `; ' przed „cout”
Andrea

Odpowiedzi:

0

Jeśli twój plik jest nazywany CerealBox(i nie ma CerealBox.cpp), powinieneś najpierw zmienić nazwę pliku, aby CerealBox.cppwyjaśnić, że jest to plik źródłowy C ++.

Następnie spróbuj ponownie:

g++ -Wall -c CerealBox.cpp

Na g++to nie ma znaczenia, w jaki sposób do pliku o nazwie, ale ...

dlaczego aquamaki nie działają na C ++ od samego początku, to znaczy, dlaczego nie dostaję kolorowych słów w momencie uruchamiania?

Jest tak, ponieważ nie wie, że plik jest plikiem źródłowym w C ++. AFAIK, nie ma zgadywania języka ani automatycznego podświetlania składni na podstawie samej zawartości. Potrzebujesz do tego rozszerzenia.

slhck
źródło