Настройка компилятора Eclipse C ++ без автоматической установки или изменения системного пути в Windows - PullRequest
1 голос
/ 18 февраля 2010

Я пытаюсь установить компилятор C ++ на Eclipse без изменения переменных Path, поскольку я не могу, машина имеет ограниченные права. Eclipse, очевидно, работает нормально, это сборка, которая не работает, на что жалуются.

Первое, что я заметил, было предупреждение «Неразрешенное включение» для файла библиотеки stdio.h

Я добавил переменную path в Eclipse «Windows> Preferences> C / C ++> Environment» с новой переменной среды «Path» с путем к моей папке minGW / bin, но безрезультатно. Я также попытался установить для него значение «Заменить переменную среды среды указанной», но также без изменений.

В ошибках сборки говорится:

****  WARNING: The "Default" Configuration may not build  ****
****  because it uses the "MinGW GCC"  ****
****  tool-chain that is unsupported on this system.  ****

, а затем

(Cannot run program "make": Launching failed)

И, конечно же, не более. Это простой тест Hello World, поэтому код не должен быть проблемой. Я вижу включения в папке в области «Включения», которую генерирует Eclipse (D: \ MinGW \ binutils \ lib), но нажатие на них на вкладке «Контур» в Eclipse вызывает ошибку «Не найдены включаемые файлы, которые соответствуют имя».

1 Ответ

4 голосов
/ 22 февраля 2010

Похоже, вы пытаетесь создать простую программу hello world, используя Eclipse / CDT и среду разработки, и используете mingw в качестве цепочки инструментов компилятора. Я смог заставить это работать только сейчас, не меняя переменную окружения системного пути. Вот что я сделал:

  • У меня уже был установлен Eclipse 3.5 (Galileo) с CDT
  • Установлен MinGW для C: \ MinGW (я полагаю, вы уже сделали это). Убедитесь, что компонент mingw-make установлен (по умолчанию он не установлен, мне пришлось установить флажок для установки этого компонента).
  • Создайте новый пустой проект makefile, добавьте main.c, напишите код hello world (как вы говорите, это не проблема, поэтому я пропускаю подробности здесь), добавьте новый файл с именем «makefile» и заполните его .

Содержимое моего файла main.c

    #include   
    int main()  
    {  
        printf("Hello World!");  
        return 0;  
    }  

Содержимое моего make-файла:

    all:  
        gcc -o HelloWorld.exe main.c 
  • Открыть свойства проекта; В C / C ++ Build снимите флажок «использовать команду сборки по умолчанию» и измените команду сборки на «mingw32-make».
  • Под "C / C ++ Build / Environment" добавьте новую переменную PATH с C: \ Mingw \ bin в пути
  • В разделе «C / C ++ General / Paths and Symbols» добавьте C: \ mingw \ include в качестве пути включения.

После этого мой проект успешно скомпилирован и создал в моем проекте файл HelloWorld.exe.

Другой вариант, который не требует добавления переменной PATH к свойствам системы или проекта или добавления пути включения к свойствам проекта, заключается в простом предоставлении полного пути информации командам в make-файле. Для небольших проектов это управляемо. Вот пример makefile:

Содержимое make-файла:

    all:  
        c:\mingw\bin\gcc -o HelloWorld.exe -I c:\mingw\include main.c 

Конечно, вам также придется изменить команду сборки с простого "mingw32-make" на "C: \ mingw \ bin \ mingw32-make".

Другим недостатком этого подхода является то, что синтаксический анализатор CDT не сможет найти включаемые файлы, поэтому вы получите предупреждение в редакторе по этому поводу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...