Как создать библиотеку Google C ++ libphonenumber для Win32 - PullRequest
5 голосов
/ 02 ноября 2011

Некоторые разработчики в нашей команде используют Java и C # версии libphonenumber , библиотеки нормализации для международных телефонных номеров.

Они утверждают, что это замечательно / волшебно / и т.д.

К сожалению, будучи разработчиком на Win32 C ++, мой простой ум не совсем может понять все чудеса и магию CMake, Boost имножество других библиотек, и я не могу собрать библиотеку вообще.

Может кто-нибудь дать несколько советов или советов или URL-адресов, чтобы помочь мне указать верное направление, чтобы мы могли построить этот проект и использовать его?

Текущий камень преткновения - при попытке запустить CMake (следуя инструкциям в очень коротком файле readme) я получаю следующее сообщение об ошибке:

> -- Could NOT find Boost
> -- Configuring incomplete, errors occurred!

Я думал, что правильно установил BOOST_ROOT,но, видимо, я либо неправильно его установил, либо мне не хватает других переменных env.

Как я могу построить эту библиотеку?

Мы используем VS 2008, но у меня также есть VS 2010 на моей машине.Я был бы счастлив получить билд с любым из них.

Ответы [ 4 ]

0 голосов
/ 15 ноября 2011

Попробуйте скомпилировать его, используя cygwin , это похоже на стандартную среду сборки UNIX, но работает на Windows. Обычно гораздо проще скомпилировать библиотеки с открытым исходным кодом, чем использовать Visual Studio.

0 голосов
/ 10 ноября 2011

Вы можете попробовать передать BOOST_INCLUDEDIR и BOOST_LIBRARYDIR компилятору; таким образом, вы можете полностью обойти поиск модуля cmake.

0 голосов
/ 13 ноября 2011
  1. Измените Boost_ADDITIONAL_VERSIONS в FindBoost.cmake, шаг, который вы уже сделали
  2. Измените CMakeLists.txt из \ libphonenumber \ cpp, измените строку find_package (Boost 1.40.0 COMPONENTS thread)

в

 set(Boost_USE_STATIC_LIBS        ON)
 set(Boost_USE_MULTITHREADED      ON)
 set(Boost_USE_STATIC_RUNTIME    OFF) //since CMake 2.8.3
 find_package (Boost 1.47.0 COMPONENTS thread)

3.Запустите mkdir build в \ libphonenumber \ cpp, cd build 4. Запустите cmake -G "ваш генератор" -DBOOST_ROOT = "папка you_path_to_boost_147_0", например: cmake -G "Visual Studio 10" ../ -DBOOST_ROOT="E:\libphonenumber\cpp\3rdparty"

0 голосов
/ 02 ноября 2011

Ваш CMake может быть устаревшим по сравнению с установленной вами версией Boost.Проверьте файл FindBoost.cmake, расположенный в каталоге CMake Modules.Он должен содержать такой раздел:

set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
    "1.46.1" "1.47" "1.47.0"
    "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
    "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
    "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
    "1.34" "1.33.1" "1.33.0" "1.33")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...