NetBeans и MinGW-W64 - PullRequest
       21

NetBeans и MinGW-W64

4 голосов
/ 12 декабря 2011

Я пытаюсь настроить мои NetBeans на win7 64bit для работы с MinGW-w64.
Поэтому я поместил в переменную% PATH% следующие пути компилятора:
C: \ mingw-w64-bin_i686 \ mingw \ bin
C: \ minGw-MSYS \ msys \ bin
C: \ mingw-w64-bin_i686 \ libexec \ gcc \ x86_64-w64-mingw32 \ 4.7.0

Затем я открыл NetBeans, и это было настроено:

Конфигурация в NetBeans

Я попытался скомпилировать небольшую тестовую программу, но получил эту ошибку:

g ++. Exe: фатальная ошибка: -fuse-linker-plugin, но liblto_plugin-0.dll не найдена, компиляция прекращена.make [2]: * [dist / Debug / MinGW-Windows / test.exe] Ошибка 1 make 1 : [.build-conf] Ошибка 2 make: ** [.build-impl] Ошибка 2

BUILD FAILED (значение выхода 2, общее время: 1 с)

У меня есть этот файл в C: \ mingw-w64-bin_i686 \ libexec \ gcc \ x86_64-w64-mingw32 \ 4.7.0

что мне не хватает?

Ответы [ 3 ]

14 голосов
/ 23 ноября 2012

Правильно, после месяцев откладывания этого я наконец села и сделала это.Я, вероятно, сделаю более подробный пост в своем блоге с красивыми картинками, но вот урезанная SO-версия, которая, надеюсь, будет достаточной для вас (и всех остальных), чтобы начать работу.

Предпосылки

Удалите MinGW, MSYS и CMake, если они у вас есть и вы можете позволить себе их потерять (мы переустановим MinGW (obv.) И MSYS, но не CMake, так как это не требуется.)

  • NetBeans или другая подходящая IDE
  • 64-битная Windows.
  • EnvMan (необязательно, но удобно для управления переменными среды Windows.)

Установка

Компилятор MinGW-W64 C и MSYS

  • Загрузка и установка MinGW-W64
    • http://mingw -w64.sourceforge.net / (ссылка находится в левом меню с гиперссылкой «Загрузки WIN64».)
    • Существует множество версий, которые могут быть немного сложными.Мы используем mingw-w64-bin_i686-mingw_20111220 (хотя числа в конце могут отличаться), который в основном говорит, что мы хотим версию с двоичными файлами Windows.
    • После завершения загрузки (около 300 МБ, так что 10 мин.или около того) распаковать в C: \ MinGW-W64 или аналогичный. Убедитесь, что в пути нет пробелов!
  • Загрузить MSYS для MinGW-W64

Настройка

  • Добавить 'C: \ MinGW-W64 \ bin 'к переменной Windows PATH.
  • Добавьте' C: \ MSys \ msys \ bin 'к переменной Windows PATH.
  • Запустите Netbeans и выберите Сервис -> Параметры ->C / C ++.
    • Нажмите «Добавить» в разделе «Коллекция инструментов» и выберите базовый каталог MinGW-W64 (C: \ MinGW-W64 \ bin).
    • Выберите «MinGW» из «Семейства инструментов»', если он не обнаружен автоматически, и нажмите «ОК».
    • Установите для компилятора C значение C: \ MinGW-W64 \ bin \ x86_64-w64-mingw32-gcc.exe.
    • Установите для компилятора C ++ значение C: \ MinGW-W64 \ bin \ x86_64-w64-mingw32-g ++. Exe.
    • Установите для команды Make команду C: \ MSys \ msys \ bin \ make.exe.

И это должно быть!

Следует отметить, что я использую систему для компиляции файла библиотеки, который будет использоваться через JNI, такесть некоторые дополнительные шаги для того, что я пропустил, поскольку они не были нужны здесь.Однако я сделал быструю программу «Hello World», и она скомпилировалась и прекрасно работала.

Удачного кодирования!

0 голосов
/ 26 июля 2015

С некоторыми поисками через вашу любимую поисковую систему в Интернете я нашел лучший подход для быстрого добавления MinGW-x64 в 64-битную систему Windows.На сайте Sourceforge есть MSYS2 .

Следуя инструкциям по установке и получая самые последние пакеты, на основном зеркале сайта Sourceforge может быть тайм-аут.Если это так, следуйте указаниям обновления сайта зеркала и обновите три текстовых файла pacman в соответствующем каталоге MSYS2 (например, /etc/pacman.d).Затем перейдите к завершению обновлений пакета, следуя указаниям по установке MSYS2 .

В пакетах MSYS2 есть такие вещи, как gcc, llvm, make, dmake и т. Д. Вот команда, используемая в MSYS2оболочка командной строки (например, bash) для установки утилиты make GNU:

$ pacman -S msys/make

Расположение исполняемого файла, в котором она будет размещена: /usr/bin внутри командной оболочки MSYS2.Что касается настройки Netbeans для расположения make.exe, путь Windows:

MSYS2 installation directory\usr\bin\make.exe

(например, C:\msys64\usr\bin\make.exe).

Для успешной сборки C ++ с Netbeans я использовалGNU make package (например, msys / make).Затем, чтобы использовать стандартные файлы make, которыми управляет Netbeans, и чтобы не мешать другим компиляторам C ++ в вашей установке Windows (например, Visual Studio, Intel, CLang из Visual Studio и т. Д.), Запустите Netbeans из командной оболочки MinGW-x64.предоставлено MSYS2.Таким образом, переменные окружения и другие вещи, такие как:

lsкомнатаMkDir

будет указывать на успешное выполнение и компиляцию в окне внутреннего терминала Netbeans.Я открыл Min64-Win64 Win64 Shell, перейдя к установленному ярлыку из установки MSYS2.Затем вставьте в командную строку оболочки MinGW-x64 значение свойства Target из ярлыка рабочего стола Windows Netbeans:

$ "C:\Program Files (x86)\NetBeans 7.4\bin\netbeans.exe"

И, наконец, сможете создать соответствующий объект отладки и выпуска и исполняемые файлы.Я также изменил выходные данные проекта Netbeans, чтобы они соответствовали структуре каталогов MSYS2.Затем запустите исполняемый файл в оболочке MSYS2 MinGW-x64.При запуске из среды IDE Netbeans выдается следующее сообщение об ошибке:

Невозможно запустить процесс pty: сбой приложения с кодом выхода -1073741515 (0xc0000135).

Если путь MSYS2находились в переменной окружения PATH компьютерной системы, возможно, эта ошибка не возникнет.

0 голосов
/ 12 декабря 2011

Я только что скачал последнюю автоматизированную сборку , разархивировал ее, добавил основной каталог bin в путь и запустил:

x86_64-w64-mingw32-gcc test.cpp -o test.exe

и

x86_64-w64-mingw32-gcc -fuse-linker-plugin test.cpp -o test.exe

и это работает. То же самое для варианта i686. Ваша IDE делает что-то не так. Или вы не должны были испортить файлы. Или вы не должны были удалять префиксы. Серьезно.

PS: Вам нужно только добавить основной каталог "bin" в PATH, все остальное неправильно.

...