Компиляция C ++ внутри папки в Ubuntu 12.04

У меня есть вопрос о компиляции .cpp в папке, он говорит

first.cpp Нет такого файла или каталога

, но когда я запускаю его в домой это компилируется. Какие-нибудь настройки я мог бы оставить? Спасибо.

Вот вывод терминала ( смотреть больше ): enter image description here

law@ubuntu:~$ ls
android-sdk   Downloads         Pictures        test        wallpapers
android-sdks  eclipse           Public          tomcat      workspace
Desktop       examples.desktop  sourcecodescpp  Ubuntu One
Documents     Music             Templates       Videos
law@ubuntu:~$ dir sourcecodescpp
first.cpp
law@ubuntu:~$ g++ first.cpp
g++: error: first.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
law@ubuntu:~$ ./a/out
bash: ./a/out: No such file or directory
law@ubuntu:~$ ls
android-sdk   Downloads         Pictures        test        wallpapers
android-sdks  eclipse           Public          tomcat      workspace
Desktop       examples.desktop  sourcecodescpp  Ubuntu One
Documents     Music             Templates       Videos
law@ubuntu:~$ dir ls
dir: cannot access ls: No such file or directory
law@ubuntu:~$ ls
android-sdk   Downloads         Music           Templates   Videos
android-sdks  eclipse           Pictures        test        wallpapers
Desktop       examples.desktop  Public          tomcat      workspace
Documents     first.cpp         sourcecodescpp  Ubuntu One
law@ubuntu:~$ g++ first.cpp
law@ubuntu:~$ ./a.out
Hello World!law@ubuntu:~$ ^C
law@ubuntu:~$ ^C
law@ubuntu:~$ 
4
задан 26 May 2012 в 07:58

3 ответа

Вы были в вашей домашней папке (/home/law), когда вы выполнили команду g++ first.cpp. Но first.cpp находится в папке sourcecodescpp. Чтобы скомпилировать first.cpp, вы должны либо ввести папку, в которой он находится:

cd sourcecodescpp

(Тогда выходной файл по умолчанию будет создан внутри sourcecodescpp.)

укажите его имя с именем папки, в которой оно содержится:

g++ sourcecodescpp/first.cpp

(тогда выходной файл по умолчанию будет создан внутри вашей домашней папки.)

0
ответ дан 26 May 2012 в 07:58

Вам нужно сначала переместиться (сменить каталог или cd) в каталог sourcecodescpp, чтобы запустить / скомпилировать любые находящиеся там файлы. Для этого запустите

cd sourcecodescpp

из терминала, и теперь вы будете в этом каталоге.

Теперь вы можете запустить

g++ first.cpp

для компиляции и

./a.out

для запуска.

0
ответ дан 26 May 2012 в 07:58

Правильно, вы можете указать полный путь к вашему cpp-файлу, чтобы избежать такой ошибки.

Я думаю, что даже следующие должны работать:

g++ /home/yourdirectory/first.cpp
0
ответ дан 26 May 2012 в 07:58

Другие вопросы по тегам:

Похожие вопросы: