Как подключить библиотеку (.а) к проекту MSVC

Рейтинг: 1Ответов: 1Опубликовано: 18.04.2015

Здравствуйте Нужно собрать проект под MS Visual Studio. Проект зависит от библиотеки libosmpbf.a, которая поставляется исключительно в виде статической библиотеки в формате gcc. Можно ли библиотеку libosmpbf.a преобразовать в libosmpbf.lib. При помощи MinGW? Прошу варианты с Cygwin не рассматривать.

Ответы

▲ 1Принят

Просто так использовать библиотеку, собранную для GCC не получится. Библиотека, собранная под другую систему, может использовать специфичные для той системы функции. Даже в случае одной и той же ОС могут возникнуть проблемы в связи с тем, что GCC и MSVC используют разные runtime-библиотеки, которые могут быть несовместимы между собой.

Правильный путь в данном случае - собрать библиотеку из исходников с импользованием нужного компилятора.

В конкретно вашем случае исходники поставляются с библиотекой. Во время сборки C++ файлы генерируются из .proto файлов с использованием protobuf compiler. Вам нужно для сборки

  1. Установить cmake
  2. Установить protobuf compiler
  3. Открыть консоль Visual Studio.
  4. Перейти в папку библиотеки.
  5. Убедиться, что путь к исполняемым файлам cmake и proto compiler находятся в пути поиска (PATH)
  6. Выполнить

    cmake -G "NMake Makefiles"
    nmake
    
  7. PROFIT