LINUX.ORG.RU

Code::Blocks / g++: fatal error. Помогите решить проблему

 ,


0

1

Только недавно перешел на Ubuntu версия 16.04LTS(64-х разрядная). Windows надоел своими вечнымы лагами и потреблением ресурсов. Доволен Линуксом как слон, осваиваю его просторы.Я начинающий программист изучаю С/C++. Установил среду разработки Code::Blocks 13.12. Уже пользовался этой средой на Винде. Возникла проблема. Создаю новый проект (Console application) сохраняю в Домашняя папка/code программы работают. Но если сохраняю на Рабочий стол - ошибка. Вот пример:

#include <iostream>
using std::cout;
using std::endl;
int main()
{
	using pt = const char *;
	//typedef const char* pt;
	pt str = "Two Things Are Infinite: the Universe and Human Stupidity!";
	cout << str << endl;
	return 0;
}
Компилирую и запускаю, после чего выдает ошибку: -------------- Build: Debug in out (compiler: GNU GCC Compiler)---------------

g++ -Wall -fexceptions -g -std=c++11 -c "/home/alex/Рабочий стол/out/main.cpp" -o obj/Debug/main.o g++ -o bin/Debug/out obj/Debug/main.o g++: error: obj/Debug/main.o: Нет такого файла или каталога g++: fatal error: no input files compilation terminated. Process terminated with status 1 (0 minute(s), 0 second(s)) 0 error(s), 0 warning(s) (0 minute(s), 0 second(s))[/em]

Удобнее с проектами на рабочем столе работать. Пробовал изменять настройку Terminal to launch console programs c xterm -T $TITLE -e на gnome-terminal --disable-factory -t $TITLE -x один раз запустилось но, потом снова та же история. Помогите решить проблему.

Вообще, Code::Block довольно-таки слабенькая и неуклюжая IDE.

Советую обратить твой взор на Qt Creator (она работает с обычными проектами на C и C++, без Qt) или на CLion.

EXL ★★★★★
()
Ответ на: комментарий от EXL

А почему должно быть не законно? Это же всего лишь Рабочий стол, который в той же Домашней папке что и папка code в которой все работает.

alex_code
() автор топика
Ответ на: комментарий от EXL

Спасибо, обращу внимание. Но таки сильно привязался к Code::Blocks. Хочется в этой среде продолжать работать с удобствами и без мелких проблем.

alex_code
() автор топика
Ответ на: комментарий от alex_code

«Рабочий стол» имеет пробел в имени, что в некоторых случаях может привести к проблеме. Судя по кавычкам, конкретно тут проблемы быть, вроде как, не должно, но вообще у тебя «/home/alex/Рабочий» «стол/out/main.cpp» могут обработаться как два разных аргумента. А файла «/home/alex/Рабочий» у тебя, очевидно, нет.

Deleted
()
Ответ на: комментарий от Deleted

Что странно, gcc должен бы ругнуться, мол херня этот ваш Рабочий стол, а он проглатывает и ругается только на линковке.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Думаю, из-за этого

-c "/home/alex/Рабочий стол/out/main.cpp"

Но почему в итоге ничего не вышло и связано ли это с кириллицей, мне неизвестно.

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)

Похоже на то, что компилируется в одном месте, а линкуется в другом. Если там какой-то проект, то надо смотреть на настройки его каталогов. Если этот проект был перемещён, то в нём могли сохраниться старые пути. Может быть проще попробовать заново создать проект на новом месте.

xaizek ★★★★★
()

Удобнее с проектами на рабочем столе работать

Если проект открывается только в codeblocks, то чем это удобнее любого другого каталога.

Насчёт связи ошибки с пробелом можешь проверить создав проект в другом каталоге с именем на латинице и пробелом, а насчёт кириллицы - в каталоге с именем на кириллице без пробела.

Из ppa-репозитория можно поставить codeblocks 16.01 (проблему это не решит, но поновее будет)

grem ★★★★★
()

Похоже на то, что просто не существует директории «obj/Debug»

oleeq2
()
Ответ на: комментарий от EXL

Спасибо, ты прав. Поменял название Рабочего стола на лат. Desktop и все заработало.И в самом деле интересно что gcc не ругнулся

alex_code
() автор топика
Ответ на: комментарий от grem

Создал проект в другом каталоге на латинице и с пробелом, все работает. А вот в каталоге с кириллицей - выше упомянутая проблема. Спасибо за ответы!

alex_code
() автор топика
Ответ на: комментарий от alex_code

Я для себя эти проблемы решил тупо переключением системного языка на en_US. И подобные проблемы исчезли.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Тоже как вариант. Эх, вот из-за таких не значительных багов приходится тратить время на их устранение для нормального функционирования.

alex_code
() автор топика
Ответ на: комментарий от alex_code

Просто старайся не использовать кириллицу/пробелы в путях. Избежишь миллион проблем не в этом, так в другом месте.

ncuxer
()
Ответ на: комментарий от ncuxer

В винде кстати нет вообще проблем с этим.

cl.exe отлично жуёт D:\User\Ящерик Рептилоидович\Рабочий стул\Свалка\Проекты\Глюкалка\Глюкалка.cpp

EXL ★★★★★
()

Windows надоел своими вечнымы лагами

Ага. А потом тред про какую-то долбанутую проблему, которая только в линуксе есть

hotpil ★★★★
()
Ответ на: комментарий от hotpil

Баги везде есть, вопрос - в каком количестве. А проблемы нужно решать и копать глубже что б потом такое не повторялось. Для этого и создаются соответствующие темы.

alex_code
() автор топика

CodeBlocks это вообще глюкодром, и с неанглийскими буквами у него полная жопа была всегда и будет. возьми QtCreator и не мучайся.

i36_zubov
()
Ответ на: комментарий от Iron_Bug

Поставил ради интересу Code::Blocks. Создал проект в «Рабочий стол» Нажал кнопку Build. Выхлоп такой-же, но! что я вижу. Первая строка не сругалась, но файла, main.o, на выходе нет. Линковщик, само-собой, скажет фиг-те соберу.

Ввожу те-же команды в консоли, и о ЧУДО, оно работает!

Отсюда вопрос. Кто всё-таки виноват? Несчастный g++ или всё-же Code::Blocks? Который не работает не с англоsucksкими буквами.

anonymous
()
Ответ на: комментарий от anonymous

Бага, в трекере кодоблока, есть.
Висит там с 2014го года.
Т.е. всем, хм..., пофиг.

anonymous
()
14 ноября 2016 г.
Ответ на: комментарий от EXL

повсеместный UTF-8

Если бы. Повсеместный он только в вебе, а так

http://utf8everywhere.org/

UTF-16 remains popular today, even outside the Windows world. Qt, Java, C#, Python (prior to the CPython v3.3 reference implementation, see below) and the ICU—they all use UTF-16 for internal string representation.

utf8nowhere ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.