Вот что у меня сработало:
Вам необходимо установить MSYS с mingw. Это минимальная Unix-подобная оболочка, которая позволяет вам конфигурировать / создавать большинство пакетов Unix. Прочтите в документации mingw, как это установить (с помощью mingw-get или установщика с графическим интерфейсом).
После того, как вы установили MSYS, у вас должен быть ярлык в меню «Пуск» с именем «MinGW Shell». Это открывает консоль с bash.
Извлеките исходный архив в вашу домашнюю директорию MSYS. Я установил mingw в «D: \ prog», поэтому каталог был «D: \ prog \ MinGW \ msys \ 1.0 \ home \ ». Вы можете указать свое имя пользователя MSYS в командной строке. После этого у вас должен появиться каталог «D: \ prog \ MinGW \ msys \ 1.0 \ home \ \ protobuf-2.4.1».
В командной строке перейдите в каталог protobuf:
cd protobuf-2.4.1
Запустите скрипт настройки (обратите внимание на обратные кавычки):
./configure --prefix=`cd /mingw; pwd -W`
Параметр --prefix
гарантирует, что protobuf установлен в дереве каталогов mingw вместо каталогов MSYS, поэтому вы можете создавать вне оболочки MSYS (например, с помощью CodeBlocks ...)
Выполнить make:
make
Установка:
make install
Вот и все. Теперь вы сможете скомпилировать ваш проект с protobuf. * 1050 *
Вы должны быть в состоянии:
- звоните
protoc
из вашего проекта / makefiles
#include <google/protobuf/message.h>
и т. Д.
- ссылка с
-lprotobuf
или -lprotobuf-lite
НТН
Питер
Edit:
Принося это немного более современным. Я попытался настроить новый ПК с текущими версиями MinGW и protobuf 2.5.0, и у меня были следующие проблемы:
В меню «Пуск» нет ярлыка «MinGW Shell».
По какой-то причине текущие установки MinGW не могут установить это.
Но есть msys.bat
в <Mingw home>\msys\1.0
, который вызывает консоль с bash. Создайте ярлык для этого командного файла где-нибудь.
gcc не работает из оболочки MSYS.
Я должен был запустить пакетный файл после установки вручную и ответить на вопросы там. Это устанавливает записи fstab, которые монтируют каталоги mingw в среде MSYS.
Вам нужно запустить <Mingw home>\msys\1.0\postinstall\pi.bat
Мой антивирус Avira помешал компиляции protobuf. * 1089 *
Он пожаловался на то, что сгенерированный protoc.exe является трояном «TR / Crypt.XPACK.Gen», и заблокировал доступ к этому файлу, что привело к повреждению сборки.
При попытке запустить protoc я получаю сообщения об ошибках типа protoc:./.libs/lt-protoc.c:233: FATAL: couldn't find protoc.
.
Мне пришлось отключить сканер реального времени Avira и make clean && make && make install
снова
Редактировать # 2:
Этот пост немного постарел, и mingw уже не равен mingw.
В наши дни я бы скорее рекомендовал MSYS2, который поставляется с портом менеджера пакетов pacman ArchLinux, недавнюю, более эффективную (поддержку c ++ 11 std :: thread!) Mingw для 32- и 64-битных систем, и пакет protobuf, который вам просто нужно установить и быть хорошим.
Зайдите сюда , чтобы загрузить!
Надеюсь, это поможет!
Питер