Проблема Eclipse C ++: нет двоичного кода (но нет ошибки компилятора), нет классов (но нет записи в иерархии классов) - PullRequest
3 голосов
/ 19 февраля 2012

Эта проблема, вероятно, легко решаема, но я не знаю, как это сделать.

В любом случае, я использую Eclipse 3.5.2 в Ubuntu 11.04.Я пишу игру на C ++ (не на Java) и пишу несколько классов для нее.Хорошо.Я строю часто, чтобы проверить на ошибки.Отлично.

Но моя первая проблема заключается в том, что когда я нажимаю кнопку Build (как для Debug, так и для Release), даже при появлении диалогового окна компиляции я не получаю ни двоичного файла, ни ошибок.Это то, что я получаю;

**** Build of configuration Debug for project Different-Game ****

make all 
make: Nothing to be done for `all'.

Вот и все.Вероятно, это просто настройка, которую я где-то облажал, но я не знаю, что я здесь делаю!

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

У кого-нибудь есть советы?

1 Ответ

0 голосов
/ 06 июня 2012

Похоже, CDT не нашел ничего для сборки.Если бы он только находил некоторые вещи, он вывел бы ошибки, такие как undefined reference to 'main'

. Может быть несколько причин:

  • Файл (ы)может быть опущено в текущей сборке.Щелкните правой кнопкой мыши ваш исходный файл, Resource Configuration-> Exclude from build.Убедитесь, что ничего не отмечено.
  • Исходные файлы находятся в подпапке, которую Eclipse не проверяет на наличие источника.Щелкните правой кнопкой мыши по папке, «Свойства», «Сборка C / C ++», чтобы убедиться, что «Исключить ресурс из сборки» НЕ отмечен.

Вы можете проверить, какие исходные файлы создаются, просмотрев папку сборки (где CDT размещает сгенерированные make-файлы).Ищите файлы с названием subdir.mk.В каждом из них должны быть указаны исходные файлы, которые должны быть скомпилированы в этом каталоге.

Например, если у вас есть ~/workspace/myProject/src/main.c, то там также должно быть ~/workspace/myProject/Debug/src/subdir.mk, и оно должно содержать строку с ../src/main.c

...