我们团队中的一些开发人员正在使用libphonenumber的Java和C#版本,这是国际电话号码的规范化库。
他们声称这是美好的/神奇的/等等。
不幸的是,作为一名Win32 C ++开发人员,我的简单思维不能完全掌握CMake,boost和其他库的所有奇妙和魔力,我根本无法build立这个库。
有人可以提供一些提示或URL的提示来帮助我指出正确的方向,以便我们可以build立这个项目,并利用它?
当前的绊脚石是当试图运行CMake(按照非常简短的自述文件中的说明)我得到以下错误信息:
> -- Could NOT find Boost > -- Configuring incomplete, errors occurred!
我以为我正确设置BOOST_ROOT,但显然要么我把它设置错了,或者我错过了其他envvariables。
我怎样才能build立这个图书馆?
我们使用VS 2008,但是我的机器上也有VS 2010。 我会很高兴得到任何一个构build。
您的CMake可能已经过时了您安装的Boost版本。 检查位于CMake模块目录中的文件FindBoost.cmake。 它必须包含这样一个部分:
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")
您可以尝试将BOOST_INCLUDEDIR和BOOST_LIBRARYDIR传递给编译器; 这样你完全可以绕过cmake模块搜索。
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.在\ libphonenumber \ cpp中运行mkdir build
,cd build
4.运行cmake -G“your generator”-DBOOST_ROOT =“you_path_to_boost_147_0文件夹”,例如: cmake -G "Visual Studio 10" ../ -DBOOST_ROOT="E:\libphonenumber\cpp\3rdparty"
尝试使用cygwin编译它,它就像一个标准的UNIX构建环境,但在Windows上运行。 使用它比使用Visual Studio更容易编译开源库。