Не вопрос, я просто рыскал по Интернету в поисках решения этой проблемы и подумал, что поделюсь им с хорошими людьми из SO. Проще говоря, чтобы было доступно новичкам. :) (Прошу прощения, если это не то место - просто пытаюсь быть полезным.)
Эта проблема возникает практически у любого пользователя OS X Snow Leopard, который пытается использовать Eclipse C / C ++ IDE, но особенно раздражает людей (таких как я), которые использовали Eclipse C / C ++ IDE в Leopard и не могли работать с Eclipse, когда они обновятся. Проблема возникает, когда пользователи переходят к сборке / компиляции / компоновке своего программного обеспечения. Они получают следующую ошибку:
Не удалось запустить. Двоичный файл не найден.
Далее, ветки «бинарные файлы» в окне проекта слева попросту не существует.
ПРОБЛЕМА: GCC 4.2 (сборник компиляторов GNU), поставляемый со Snow Leopard, по умолчанию компилирует двоичные файлы в 64-битном формате. К сожалению, компоновщик, который использует Eclipse, не понимает 64-битные двоичные файлы; он читает 32-битные двоичные файлы. Здесь могут быть и другие проблемы, но, короче говоря, они приводят к тому, что двоичный файл не создается, по крайней мере, тот, который Eclipse не может прочитать, что означает, что Eclipse не находит двоичные файлы. Отсюда и ошибка.
Одно из решений - добавить флаг -arch i686 при создании файла, но создание файла вручную каждый раз раздражает. К счастью для нас, Snow Leopard также поставляется с GCC 4.0, который по умолчанию компилируется в 32-битном формате. Итак, одно из решений - просто связать его как компилятор по умолчанию. Вот как я это сделал.
РЕШЕНИЕ: GCC находятся в / usr / bin, который обычно является скрытой папкой, поэтому вы не можете увидеть его в Finder, если вы явно не укажете системе, что хотите видеть скрытые папки. В любом случае, что вы хотите сделать, это перейти в папку / usr / bin и удалить путь, который связывает команду GCC с GCC 4.2, и добавить путь, который связывает команду GCC с GCC 4.0. Другими словами, когда вы или Eclipse пытаетесь получить доступ к GCC, мы хотим, чтобы команда перешла к компилятору, который по умолчанию строит 32 бита, чтобы компоновщик мог читать файлы; мы не хотим, чтобы он попал в компилятор, который компилируется в 64 бита.
Лучший способ сделать это - перейти в «Приложения / Утилиты» и выбрать приложение под названием «Терминал». Должна появиться текстовая подсказка. Он должен сказать что-то вроде «(Имя компьютера): ~ (Имя пользователя) $» (с пробелом для ввода пользователем в конце). Чтобы выполнить указанные выше задачи, введите следующие команды, вводя каждую из них в последовательности VERBATIM и нажимая Enter после каждой отдельной строки.
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++
Как и я, вы, вероятно, получите сообщение об ошибке, говорящее о том, что у вас нет разрешения на доступ к этим файлам. Если да, попробуйте вместо этого следующие команды:
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, попробуйте просто нажать Enter. Если это не сработает, попробуйте ввести пароль для своей основной учетной записи администратора.
ДРУГИЕ ВОЗМОЖНЫЕ РЕШЕНИЯ Вы можете ввести переменные сборки в Eclipse. Я пробовал это, но я недостаточно знаю об этом. Если вы хотите прочувствовать это, вам, вероятно, понадобится флаг -arch i686. По правде говоря, GCC-4.0 работал у меня все это время, и я не вижу причин переходить на него сейчас. Возможно, есть способ изменить значение по умолчанию для самого компилятора, но, опять же, я недостаточно знаю об этом.
Надеюсь, это было полезно и информативно. Хорошая кодировка!