Совсем недавно я установил Ubuntu и с ним: Eclipse Version: Luna Service Release 2 (4.4.2) Build id: 20150219-0600
, Я установил компилятор MinGW GCC через опцию командной строки, которую Ubuntu предоставляет для моей 64-битной системы.
sudo apt-get install mingw-w64
Когда я сделал свой проект, Eclipse начал ныть. Это продолжало говорить Toolchain "MinGW GCC" is not detected.
Тем не менее, он все еще находит ошибки в моем коде. Никаких ошибок, связанных с тем, что он не может найти путь к g ++ или gcc, все же нет. Поэтому я искал в Google, и многие источники сказали, что мне нужно будет установить переменную PATH в моей установке. Однако я не могу найти путь установки MinGW-w64. Как я могу найти, что этот путь должен быть в Ubuntu 14.04 и установить переменную пути, которая должна быть установлена.
Дополнительная информация:
-В конце этого пути Window->Preferences->C/C++->Build->Settings->Discovery->CDT GCC Built-in Compiler Settings
имеет команду, чтобы получить спецификации компилятора как ${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"
-В конце этого пути Window->Preferences->C/C++->Build->Environment
переменные окружения вообще не установлены, включая PATH
переменная.
-Под следующим Project Properties->C/C++ Build
обе галочки выбраны.
->Build Variables
пустой.
->Environment
имеет значение MINGW_HOME
как /usr
, Значение MSYS_HOME
пусто Значение PATH
является ${MINGW_HOME}/bin:${MSYS_HOME}/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
,
->Tool Chain Editor
установлен флажок для отображения только совместимых цепочек инструментов, но, похоже, он не влияет на то, какую цепочку инструментов я могу выбрать в следующем раскрывающемся меню. Мой текущий набор инструментов настроен на MinGW GCC
и мой текущий строитель настроен на Gnu Make Builder
Итак, опять мой вопрос: что дает? Почему затмение не видит компилятор, который я установил в свою копию Ubuntu? И как я могу не только установить мой PATH
переменная, но мне также нужно знать, что нужно установить, потому что я не знаю, где терминал установил каталог / bin mingw-w64
?
Для начала вам нужно понять, что mingw — это порт win32 оригинального компилятора GNU. Так что, если вы уже используете Linux, вам лучше использовать этот последний вариант.
Теперь вам нужно выяснить, распознает ли это оболочка вашей системы, так что попробуйте автоматическое заполнение вкладки в оболочке, смените ее mingw или gcc, откройте терминал и введите min
и затем нажмите Tab.
Если автозаполнение Tab сработало и вы хотите знать, где находится команда, вы можете использовать whereis [comand]
и shell вернет путь, откуда он работает.
Если ничего не происходит, тогда это не в вашем ПУТИ.
PATH определяется в основном в трех конфигурационных файлах: локальный PATH находится в ~/.bashrc
а также ~/.bash_profile
и системный PATH определяется в /etc/environment
а также /etc/profile
но обычно вам не нужно возиться с двумя.
Чтобы найти или найти что-либо в вашей системе, вы можете использовать find
,
Обычно в каждой системе Linux все устанавливаемые вами двоичные файлы /usr/bin,
/bin,
/usr/local/bin
или иногда в /opt
но этот зарезервирован на случай, если его сторонний поставщик.
На данный момент вы можете сделать поиск, как find /usr/bin -name mingw
принимая первый аргумент в качестве пути для поиска внутри ИЛИ, вы можете искать непосредственно в переменных окружения с помощью env
,
Если вам нужно что-то добавить к пути, я рекомендую вам создать символическую ссылку вашего двоичного файла (независимо от того, где он находится) в /usr/bin
и затем добавьте эту ссылку в ваш локальный PATH, то есть что-то вроде этого:
ln -S /opt/file.bin /usr/bin/myBin
echo "export PATH=$PATH:/usr/bin/myBin" >> ~/.profile
Обычно после установки gcc eclipse должен автоматически его обнаруживать, но если нет, вы можете установить MINGW_HOME
с тем же кодом, что и выше, просто пропустите шаг символьной ссылки и сначала установите переменную следующим образом:
MINGW_HOME=/Path/found/of/mingw/or/gcc
Я надеюсь, что это объяснение поможет вам, если нет, не стесняйтесь поделиться своими мыслями.