第一步:下载所需文件
geos官网下载地址https://trac.osgeo.org/geos 我下载的版本是
cmake官网下载地址https://cmake.org/ 我下载的版本为cmake-3.8.0-win64-x64.msi
第二步:安装cmake,可以默认安装,也可以自动以安装
第三步:解压goes文件到D:\GEOS文件夹下,会多出一个geos-3.6.2的文件夹,并在里面新建一个build文件夹,用来存放编译文件
第四步:打开cmake软件,把CMakeLists.txt拖到cmake界面上,Where is the source code的目录为geos解压后的目录,Where to build the binaries目录为刚刚新建的build目录
第五步:点击下面的Configure按钮,选择vs2013,点击finish
第六步:修改CMAKE_INSTALL_PREFIX的值为你刚刚新建的build文件夹,并再次Configure,此时颜色有红色变成白色,点击Generate,没弹出错误表明成功,如果弹出error,在
https://trac.osgeo.org/geos/ticket/753下载GenerateSourceGroups.txt文件,然后将GenerateSourceGroups.txt后缀修改为.cmake,并拷贝到geos-3.5.0\cmake\modules文件夹下,并从第四步重新开始
下载GenerateSourceGroups.txt后重新编译顺利通过。
第七步:当编译成功后,用vs2013以管理员身份打开D:\geos\geos-3.6.2\build下的GEOS.sln,在生成-批生成里面对ALL_BUILD的debug和release进行生成
第八步:大概过了2分钟,就会提示你生成完毕,如果没有报错,那么恭喜你,生成成功
如果编译过程中遇到std::max错误。
- //原始的文件
- double envMax = std::max(
- std::max(fabs(env->getMaxX()), fabs(env->getMinX())),
- std::max(fabs(env->getMaxY()), fabs(env->getMinY()))
- );
- //修改之后:
- double envMax = (std::max)(
- (std::max)(fabs(env->getMaxX()), fabs(env->getMinX())),
- (std::max)(fabs(env->getMaxY()), fabs(env->getMinY()))
- );
我在这里直接把编译好的版本放出来。大家直接下载就可以用 了。省去上面这些步骤。
vs2013工程在geos-3.6.2\build 文件夹下
百度云链接: https://pan.baidu.com/s/1hsqxllU 密码: 2izw
CSDN资源链接:http://download.csdn.net/download/tudou23115/9988817