第一步:下载所需文件

geos官网下载地址https://trac.osgeo.org/geos 我下载的版本是

vs2013 配置并编译geos-3.6.2

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目录

vs2013 配置并编译geos-3.6.2


第五步:点击下面的Configure按钮,选择vs2013,点击finish

vs2013 配置并编译geos-3.6.2

第六步:修改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文件夹下,并从第四步重新开始

vs2013 配置并编译geos-3.6.2

下载GenerateSourceGroups.txt后重新编译顺利通过。

vs2013 配置并编译geos-3.6.2


vs2013 配置并编译geos-3.6.2

第七步:当编译成功后,用vs2013以管理员身份打开D:\geos\geos-3.6.2\build下的GEOS.sln,在生成-批生成里面对ALL_BUILD的debug和release进行生成

vs2013 配置并编译geos-3.6.2

第八步:大概过了2分钟,就会提示你生成完毕,如果没有报错,那么恭喜你,生成成功

vs2013 配置并编译geos-3.6.2


后记:

如果编译过程中遇到std::max错误。

这是因为工程中某个文件引入了头文件 windows.h,导致windows.h中定义的max宏与c++标准库中的std::max冲突,具体出错的位置在BufferOp.cpp文件中的第89-92行。解决的方法很简单,在std::max中加上括号,不让它进行宏替换,而是调用std::max这个函数,也就是修改为:
[cpp] view plain copy
  1. //原始的文件  
  2.   double envMax = std::max(  
  3.     std::max(fabs(env->getMaxX()), fabs(env->getMinX())),  
  4.     std::max(fabs(env->getMaxY()), fabs(env->getMinY()))  
  5.   );  
  6.     
  7. //修改之后:  
  8.   double envMax = (std::max)(  
  9.     (std::max)(fabs(env->getMaxX()), fabs(env->getMinX())),  
  10.     (std::max)(fabs(env->getMaxY()), fabs(env->getMinY()))  
  11.   );  
修改之后重新编译一下即可。


我在这里直接把编译好的版本放出来。大家直接下载就可以用 了。省去上面这些步骤。

vs2013工程在geos-3.6.2\build 文件夹下

百度云链接: https://pan.baidu.com/s/1hsqxllU 密码: 2izw

CSDN资源链接:http://download.csdn.net/download/tudou23115/9988817 



相关文章:

  • 2022-12-23
  • 2021-05-10
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-11-21
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-09-21
  • 2022-12-23
  • 2021-09-07
  • 2021-07-13
  • 2021-09-09
  • 2022-12-23
相关资源
相似解决方案