关于GEOS库配置与安装

GEOS下载

下载地址:https://trac.osgeo.org/geos

GDAl初始版没有集成GEOS,所以无法支撑求交、求并、缓冲区等。想要GDAL集成GEOS,需要先下载GEOS,然后自己进行编译。

GEOS(几何引擎 - 开源)是一个具有完整空间查询和分析功能的C++库。它包括所有OpenGIS Simple Features for SQL(OGC)的空间谓词的功能和空间操作。

查询了好多文档,都直接写的可以用autogen.bat,但解压文件夹并没有这个文件,去原始官网查看,最后找到文件,建议直接下载原始格式

下载地址:https://trac.osgeo.org/geos/browser/trunk/autogen.bat?rev=2262

,下载完成后将文件拷贝对应盘下\geos-3.8.1\geos-3.8.1中;

GEOS编译,采用VS2019编译

在编译中遇到了很多问题,老是报错,最后发现是环境变量没有配置,伤不起啊,

'atuogen.bat' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

打开VS2019开发者模式,备注:很多人找不到VCVARS32.BAT文件,2019版本在如下目录,D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build,黄色的以自己实际为主

1、打开相应的文件夹

2、执行VCVARS32.BAT

**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.2
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86_x64'
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional>cd  VC\Auxiliary\Build

D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build>VCVARS32.BAT
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.8.2
** Copyright (c) 2020 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'

3、配置GEOS的环境变量,将其路径添加到环境变量的path中;

4、跳转到相应文件夹,执行atuogen.bat文件;

D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build>cd D:\GDAL_GEOS_PROJ\geos-3.4.2\geos-3.4.2
D:\GDAL_GEOS_PROJ\geos-3.4.2\geos-3.4.2>autogen.bat
已复制         1 个文件。
已复制         1 个文件。
已复制         1 个文件。

5、执行 nmake /f makefile.vc ,如出现如下报错,则是未在nmake中配置VS版本号。

D:\GDAL_GEOS_PROJ\geos-3.4.2\geos-3.4.2>nmake /f makefile.vc

Microsoft (R) 程序维护实用工具 14.28.29334.0 版
版权所有 (C) Microsoft Corporation。  保留所有权利。

**********************************************************************
*** GEOS Build Configuration ***
*** Setting BUILD_DEBUG NO
*** Setting ENABLE_INLINE NO
*** Setting BUILD_BATCH NO
*** Setting WIN64 NO
*** Cannot determine Visual C++ version
.\nmake.opt(130) : fatal error U1050: *** Aborting make job
Stop.

解决方法:

1、将Microsoft Visual Studio 安装路径下的VC中的nmake.exe拷贝到c:\windows\system32下中。我的nmake.exe在D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\bin\Hostx64\x86

!ELSEIF "$(_NMAKE_VER)" == "14.28.29334.0"
GEOS_MSVC = 14.28
GEOS_MSC = 1928

2、将vs2019版本号不在nmake.opt文件中.

NMAKE的版本号通过右键属性可以查看。

MSC版本号,在编辑器中输入,鼠标指向_MSC_VER,即可查看其版本号

#if (_MSC_VER >= 1500 && _MSC_VER <= 1600)

#else

#endif

配置完成后,再次执行:

5、执行 nmake /f makefile.vc ,则可完成配置。配置成功,控制台中会出现如下程序。

D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LengthIndexedLine.cpp /Folinearref\LengthIndexedLine.obj
LengthIndexedLine.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LengthLocationMap.cpp /Folinearref\LengthLocationMap.obj
LengthLocationMap.cpp
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LinearGeometryBuilder.cpp /Folinearref\LinearGeometryBuilder.obj
LinearGeometryBuilder.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LinearIterator.cpp /Folinearref\LinearIterator.obj
LinearIterator.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LinearLocation.cpp /Folinearref\LinearLocation.obj
LinearLocation.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LocationIndexOfLine.cpp /Folinearref\LocationIndexOfLine.obj
LocationIndexOfLine.cpp
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c linearref\LocationIndexOfPoint.cpp /Folinearref\LocationIndexOfPoint.obj
LocationIndexOfPoint.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /D "GEOS_DLL_EXPORT" /c ..\capi\geos_c.cpp /Fo..\capi\geos_c.obj
geos_c.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /D "GEOS_DLL_EXPORT" /c ..\capi\geos_ts_c.cpp /Fo..\capi\geos_ts_c.obj
geos_ts_c.cpp
..\include\geos/util/GEOSException.h(38): warning C4275: 非 dll 接口 class“std::exception”用作 dll 接口 class“geos::util::GEOSException”的基
D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29333\include\vcruntime_exception.h(48): note: 参见“std::exception”的声明
..\include\geos/util/GEOSException.h(38): note: 参见“geos::util::GEOSException”的声明
..\include\geos/noding/GeometryNoder.h(54): warning C4251: “geos::noding::GeometryNoder::lineList”: class“std::vector<geos::noding::SegmentString *,std::allocator<geos::noding::SegmentString *>>”需要有 dll 接口由 class“geos::noding::GeometryNoder”的客户端使用
..\include\geos/noding/SegmentNodeList.h(69): note: 参见“std::vector<geos::noding::SegmentString *,std::allocator<geos::noding::SegmentString *>>”的声明
..\include\geos/noding/GeometryNoder.h(61): warning C4251: “geos::noding::GeometryNoder::noder”: class“std::auto_ptr<geos::noding::Noder>”需要有 dll 接口由 class“geos::noding::GeometryNoder”的客户端使用
..\include\geos/noding/GeometryNoder.h(61): note: 参见“std::auto_ptr<geos::noding::Noder>”的声明
        cl  /nologo /MD /GR /O2 /W3 /EHs /D "NDEBUG" /D "NOMINMAX" /D "WIN32_LEAN_AND_MEAN" /D "NOGDI" /D "GEOS_DLL_EXPORT"  /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_SCL_SECURE_NO_DEPRECATE" -I..\include -I..\capi /c inlines.cpp /Foinlines.obj
inlines.cpp
        if exist geos.lib del geos.lib
        link.exe /lib /out:geos.lib algorithm\Angle.obj  algorithm\BoundaryNodeRule.obj  algorithm\Centroid.obj  algorithm\CentroidArea.obj  algorithm\CentroidLine.obj  algorithm\CentroidPoint.obj  algorithm\CGAlgorithms.obj  algorithm\ConvexHull.obj  algorithm\HCoordinate.obj  algorithm\InteriorPointArea.obj  algorithm\InteriorPointLine.obj  algorithm\InteriorPointPoint.obj  algorithm\LineIntersector.obj  algorithm\MCPointInRing.obj  algorithm\MinimumDiameter.obj  algorithm\NotRepresentableException.obj  algorithm\PointLocator.obj  algorithm\RayCrossingCounter.obj  algorithm\RobustDeterminant.obj  algorithm\SimplePointInRing.obj  algorithm\SIRtreePointInRing.obj  algorithm\distance\DiscreteHausdorffDistance.obj  algorithm\distance\DistanceToPoint.obj  algorithm\locate\IndexedPointInAreaLocator.obj  algorithm\locate\PointOnGeometryLocator.obj  algorithm\locate\SimplePointInAreaLocator.obj  geom\Coordinate.obj  geom\CoordinateArraySequence.obj  geom\CoordinateArraySequenceFactory.obj  geom\CoordinateSequence.obj  geom\CoordinateSequenceFactory.obj  geom\Dimension.obj  geom\Envelope.obj  geom\Geometry.obj  geom\GeometryCollection.obj  geom\GeometryComponentFilter.obj  geom\GeometryFactory.obj  geom\GeometryList.obj  geom\IntersectionMatrix.obj  geom\LinearRing.obj  geom\LineSegment.obj  geom\LineString.obj  geom\Location.obj  geom\MultiLineString.obj  geom\MultiPoint.obj  geom\MultiPolygon.obj  geom\Point.obj  geom\Polygon.obj  geom\PrecisionModel.obj  geom\Triangle.obj  geom\util\ComponentCoordinateExtracter.obj  geom\util\CoordinateOperation.obj  geom\util\GeometryEditor.obj  geom\util\GeometryTransformer.obj  geom\util\GeometryCombiner.obj  geom\util\ShortCircuitedGeometryVisitor.obj  geom\util\SineStarFactory.obj  geom\prep\AbstractPreparedPolygonContains.obj  geom\prep\BasicPreparedGeometry.obj  geom\prep\PreparedGeometry.obj  geom\prep\PreparedGeometryFactory.obj  geom\prep\PreparedLineString.obj  geom\prep\PreparedLineStringIntersects.obj  geom\prep\PreparedPoint.obj  geom\prep\PreparedPolygon.obj  geom\prep\PreparedPolygonContains.obj  geom\prep\PreparedPolygonContainsProperly.obj  geom\prep\PreparedPolygonCovers.obj  geom\prep\PreparedPolygonIntersects.obj  geom\prep\PreparedPolygonPredicate.obj  geomgraph\Depth.obj  geomgraph\DirectedEdge.obj  geomgraph\DirectedEdgeStar.obj  geomgraph\Edge.obj  geomgraph\EdgeEnd.obj  geomgraph\EdgeEndStar.obj  geomgraph\EdgeIntersectionList.obj  geomgraph\EdgeList.obj  geomgraph\EdgeNodingValidator.obj  geomgraph\EdgeRing.obj  geomgraph\GeometryGraph.obj  geomgraph\GraphComponent.obj  geomgraph\Label.obj  geomgraph\Node.obj  geomgraph\NodeFactory.obj  geomgraph\NodeMap.obj  geomgraph\PlanarGraph.obj  geomgraph\Position.obj  geomgraph\Quadrant.obj  geomgraph\TopologyLocation.obj  geomgraph\index\MonotoneChainEdge.obj  geomgraph\index\MonotoneChainIndexer.obj  geomgraph\index\SegmentIntersector.obj  geomgraph\index\SimpleEdgeSetIntersector.obj  geomgraph\index\SimpleMCSweepLineIntersector.obj  geomgraph\index\SimpleSweepLineIntersector.obj  geomgraph\index\SweepLineEvent.obj  geomgraph\index\SweepLineSegment.obj  index\bintree\Bintree.obj  index\bintree\Interval.obj  index\bintree\Key.obj  index\bintree\Node.obj  index\bintree\NodeBase.obj  index\bintree\Root.obj  index\chain\MonotoneChain.obj  index\chain\MonotoneChainBuilder.obj  index\chain\MonotoneChainOverlapAction.obj  index\chain\MonotoneChainSelectAction.obj  index\intervalrtree\IntervalRTreeBranchNode.obj  index\intervalrtree\IntervalRTreeLeafNode.obj  index\intervalrtree\IntervalRTreeNode.obj  index\intervalrtree\SortedPackedIntervalRTree.obj  index\quadtree\DoubleBits.obj  index\quadtree\IntervalSize.obj  index\quadtree\Key.obj  index\quadtree\Node.obj  index\quadtree\NodeBase.obj  index\quadtree\Root.obj  index\quadtree\Quadtree.obj  index\strtree\AbstractNode.obj  index\strtree\AbstractSTRtree.obj  index\strtree\Interval.obj  index\strtree\ItemBoundable.obj  index\strtree\SIRtree.obj  index\strtree\STRtree.obj  index\sweepline\SweepLineEvent.obj  index\sweepline\SweepLineIndex.obj  index\sweepline\SweepLineInterval.obj  io\ByteOrderDataInStream.obj  io\ByteOrderValues.obj  io\CLocalizer.obj  io\ParseException.obj  io\StringTokenizer.obj  io\Unload.obj  io\WKBReader.obj  io\WKBWriter.obj  io\WKTReader.obj  io\WKTWriter.obj  io\Writer.obj  noding\BasicSegmentString.obj  noding\FastNodingValidator.obj  noding\FastSegmentSetIntersectionFinder.obj  noding\GeometryNoder.obj  noding\IntersectionAdder.obj  noding\IntersectionFinderAdder.obj  noding\IteratedNoder.obj  noding\MCIndexNoder.obj  noding\MCIndexSegmentSetMutualIntersector.obj  noding\NodedSegmentString.obj  noding\NodingValidator.obj  noding\Octant.obj  noding\OrientedCoordinateArray.obj  noding\ScaledNoder.obj  noding\SegmentIntersectionDetector.obj  noding\SegmentNode.obj  noding\SegmentNodeList.obj  noding\SegmentString.obj  noding\SegmentStringUtil.obj  noding\SimpleNoder.obj  noding\SingleInteriorIntersectionFinder.obj  noding\snapround\HotPixel.obj  noding\snapround\MCIndexPointSnapper.obj  noding\snapround\MCIndexSnapRounder.obj  noding\snapround\SimpleSnapRounder.obj  operation\GeometryGraphOperation.obj  operation\IsSimpleOp.obj  operation\buffer\BufferBuilder.obj  operation\buffer\BufferInputLineSimplifier.obj  operation\buffer\BufferParameters.obj  operation\buffer\BufferOp.obj  operation\buffer\BufferSubgraph.obj  operation\buffer\OffsetCurveBuilder.obj  operation\buffer\OffsetCurveSetBuilder.obj  operation\buffer\OffsetSegmentGenerator.obj  operation\buffer\RightmostEdgeFinder.obj  operation\buffer\SubgraphDepthLocater.obj  operation\distance\ConnectedElementLocationFilter.obj  operation\distance\ConnectedElementPointFilter.obj  operation\distance\DistanceOp.obj  operation\distance\GeometryLocation.obj  operation\linemerge\EdgeString.obj  operation\linemerge\LineMergeDirectedEdge.obj  operation\linemerge\LineMergeEdge.obj  operation\linemerge\LineMergeGraph.obj  operation\linemerge\LineMerger.obj  operation\linemerge\LineSequencer.obj  operation\overlay\EdgeSetNoder.obj  operation\overlay\ElevationMatrix.obj  operation\overlay\ElevationMatrixCell.obj  operation\overlay\LineBuilder.obj  operation\overlay\MaximalEdgeRing.obj  operation\overlay\MinimalEdgeRing.obj  operation\overlay\OverlayNodeFactory.obj  operation\overlay\OverlayOp.obj  operation\overlay\PointBuilder.obj  operation\overlay\PolygonBuilder.obj  operation\overlay\snap\GeometrySnapper.obj  operation\overlay\snap\LineStringSnapper.obj  operation\overlay\snap\SnapOverlayOp.obj  operation\overlay\snap\SnapIfNeededOverlayOp.obj  operation\overlay\validate\FuzzyPointLocator.obj  operation\overlay\validate\OffsetPointGenerator.obj  operation\overlay\validate\OverlayResultValidator.obj  operation\polygonize\PolygonizeDirectedEdge.obj  operation\polygonize\PolygonizeEdge.obj  operation\polygonize\EdgeRing.obj  operation\polygonize\PolygonizeGraph.obj  operation\polygonize\Polygonizer.obj  operation\predicate\RectangleContains.obj  operation\predicate\RectangleIntersects.obj  operation\predicate\SegmentIntersectionTester.obj  operation\relate\EdgeEndBuilder.obj  operation\relate\EdgeEndBundle.obj  operation\relate\EdgeEndBundleStar.obj  operation\relate\RelateComputer.obj  operation\relate\RelateNode.obj  operation\relate\RelateNodeFactory.obj  operation\relate\RelateNodeGraph.obj  operation\relate\RelateOp.obj  operation\sharedpaths\SharedPathsOp.obj  operation\union\CascadedPolygonUnion.obj  operation\union\CascadedUnion.obj  operation\union\PointGeometryUnion.obj  operation\union\UnaryUnionOp.obj  operation\valid\ConnectedInteriorTester.obj  operation\valid\ConsistentAreaTester.obj  operation\valid\IndexedNestedRingTester.obj  operation\valid\IsValidOp.obj  operation\valid\QuadtreeNestedRingTester.obj  operation\valid\RepeatedPointTester.obj  operation\valid\SimpleNestedRingTester.obj  operation\valid\SweeplineNestedRingTester.obj  operation\valid\TopologyValidationError.obj  planargraph\DirectedEdge.obj  planargraph\DirectedEdgeStar.obj  planargraph\Edge.obj  planargraph\Node.obj  planargraph\NodeMap.obj  planargraph\PlanarGraph.obj  planargraph\Subgraph.obj  planargraph\algorithm\ConnectedSubgraphFinder.obj  precision\CommonBits.obj  precision\CommonBitsOp.obj  precision\CommonBitsRemover.obj  precision\EnhancedPrecisionOp.obj  precision\GeometryPrecisionReducer.obj  precision\PrecisionReducerCoordinateOperation.obj  precision\SimpleGeometryPrecisionReducer.obj  simplify\DouglasPeuckerLineSimplifier.obj  simplify\DouglasPeuckerSimplifier.obj  simplify\LineSegmentIndex.obj  simplify\TaggedLineSegment.obj  simplify\TaggedLinesSimplifier.obj  simplify\TaggedLineString.obj  simplify\TaggedLineStringSimplifier.obj  simplify\TopologyPreservingSimplifier.obj  triangulate\DelaunayTriangulationBuilder.obj  triangulate\IncrementalDelaunayTriangulator.obj  triangulate\quadedge\LastFoundQuadEdgeLocator.obj  triangulate\quadedge\LocateFailureException.obj  triangulate\quadedge\QuadEdge.obj  triangulate\quadedge\QuadEdgeLocator.obj  triangulate\quadedge\QuadEdgeSubdivision.obj  triangulate\quadedge\TrianglePredicate.obj  triangulate\quadedge\TriangleVisitor.obj  triangulate\quadedge\Vertex.obj  util\Assert.obj  util\GeometricShapeFactory.obj  util\Interrupt.obj  util\math.obj  util\Profiler.obj  linearref\ExtractLineByLocation.obj  linearref\LengthIndexOfPoint.obj  linearref\LengthIndexedLine.obj  linearref\LengthLocationMap.obj  linearref\LinearGeometryBuilder.obj  linearref\LinearIterator.obj  linearref\LinearLocation.obj  linearref\LocationIndexOfLine.obj  linearref\LocationIndexOfPoint.obj  ..\capi\geos_c.obj  ..\capi\geos_ts_c.obj  inlines.obj
Microsoft (R) Library Manager Version 14.28.29334.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        link.exe /dll /debug  algorithm\Angle.obj  algorithm\BoundaryNodeRule.obj  algorithm\Centroid.obj  algorithm\CentroidArea.obj  algorithm\CentroidLine.obj  algorithm\CentroidPoint.obj  algorithm\CGAlgorithms.obj  algorithm\ConvexHull.obj  algorithm\HCoordinate.obj  algorithm\InteriorPointArea.obj  algorithm\InteriorPointLine.obj  algorithm\InteriorPointPoint.obj  algorithm\LineIntersector.obj  algorithm\MCPointInRing.obj  algorithm\MinimumDiameter.obj  algorithm\NotRepresentableException.obj  algorithm\PointLocator.obj  algorithm\RayCrossingCounter.obj  algorithm\RobustDeterminant.obj  algorithm\SimplePointInRing.obj  algorithm\SIRtreePointInRing.obj  algorithm\distance\DiscreteHausdorffDistance.obj  algorithm\distance\DistanceToPoint.obj  algorithm\locate\IndexedPointInAreaLocator.obj  algorithm\locate\PointOnGeometryLocator.obj  algorithm\locate\SimplePointInAreaLocator.obj  geom\Coordinate.obj  geom\CoordinateArraySequence.obj  geom\CoordinateArraySequenceFactory.obj  geom\CoordinateSequence.obj  geom\CoordinateSequenceFactory.obj  geom\Dimension.obj  geom\Envelope.obj  geom\Geometry.obj  geom\GeometryCollection.obj  geom\GeometryComponentFilter.obj  geom\GeometryFactory.obj  geom\GeometryList.obj  geom\IntersectionMatrix.obj  geom\LinearRing.obj  geom\LineSegment.obj  geom\LineString.obj  geom\Location.obj  geom\MultiLineString.obj  geom\MultiPoint.obj  geom\MultiPolygon.obj  geom\Point.obj  geom\Polygon.obj  geom\PrecisionModel.obj  geom\Triangle.obj  geom\util\ComponentCoordinateExtracter.obj  geom\util\CoordinateOperation.obj  geom\util\GeometryEditor.obj  geom\util\GeometryTransformer.obj  geom\util\GeometryCombiner.obj  geom\util\ShortCircuitedGeometryVisitor.obj  geom\util\SineStarFactory.obj  geom\prep\AbstractPreparedPolygonContains.obj  geom\prep\BasicPreparedGeometry.obj  geom\prep\PreparedGeometry.obj  geom\prep\PreparedGeometryFactory.obj  geom\prep\PreparedLineString.obj  geom\prep\PreparedLineStringIntersects.obj  geom\prep\PreparedPoint.obj  geom\prep\PreparedPolygon.obj  geom\prep\PreparedPolygonContains.obj  geom\prep\PreparedPolygonContainsProperly.obj  geom\prep\PreparedPolygonCovers.obj  geom\prep\PreparedPolygonIntersects.obj  geom\prep\PreparedPolygonPredicate.obj  geomgraph\Depth.obj  geomgraph\DirectedEdge.obj  geomgraph\DirectedEdgeStar.obj  geomgraph\Edge.obj  geomgraph\EdgeEnd.obj  geomgraph\EdgeEndStar.obj  geomgraph\EdgeIntersectionList.obj  geomgraph\EdgeList.obj  geomgraph\EdgeNodingValidator.obj  geomgraph\EdgeRing.obj  geomgraph\GeometryGraph.obj  geomgraph\GraphComponent.obj  geomgraph\Label.obj  geomgraph\Node.obj  geomgraph\NodeFactory.obj  geomgraph\NodeMap.obj  geomgraph\PlanarGraph.obj  geomgraph\Position.obj  geomgraph\Quadrant.obj  geomgraph\TopologyLocation.obj  geomgraph\index\MonotoneChainEdge.obj  geomgraph\index\MonotoneChainIndexer.obj  geomgraph\index\SegmentIntersector.obj  geomgraph\index\SimpleEdgeSetIntersector.obj  geomgraph\index\SimpleMCSweepLineIntersector.obj  geomgraph\index\SimpleSweepLineIntersector.obj  geomgraph\index\SweepLineEvent.obj  geomgraph\index\SweepLineSegment.obj  index\bintree\Bintree.obj  index\bintree\Interval.obj  index\bintree\Key.obj  index\bintree\Node.obj  index\bintree\NodeBase.obj  index\bintree\Root.obj  index\chain\MonotoneChain.obj  index\chain\MonotoneChainBuilder.obj  index\chain\MonotoneChainOverlapAction.obj  index\chain\MonotoneChainSelectAction.obj  index\intervalrtree\IntervalRTreeBranchNode.obj  index\intervalrtree\IntervalRTreeLeafNode.obj  index\intervalrtree\IntervalRTreeNode.obj  index\intervalrtree\SortedPackedIntervalRTree.obj  index\quadtree\DoubleBits.obj  index\quadtree\IntervalSize.obj  index\quadtree\Key.obj  index\quadtree\Node.obj  index\quadtree\NodeBase.obj  index\quadtree\Root.obj  index\quadtree\Quadtree.obj  index\strtree\AbstractNode.obj  index\strtree\AbstractSTRtree.obj  index\strtree\Interval.obj  index\strtree\ItemBoundable.obj  index\strtree\SIRtree.obj  index\strtree\STRtree.obj  index\sweepline\SweepLineEvent.obj  index\sweepline\SweepLineIndex.obj  index\sweepline\SweepLineInterval.obj  io\ByteOrderDataInStream.obj  io\ByteOrderValues.obj  io\CLocalizer.obj  io\ParseException.obj  io\StringTokenizer.obj  io\Unload.obj  io\WKBReader.obj  io\WKBWriter.obj  io\WKTReader.obj  io\WKTWriter.obj  io\Writer.obj  noding\BasicSegmentString.obj  noding\FastNodingValidator.obj  noding\FastSegmentSetIntersectionFinder.obj  noding\GeometryNoder.obj  noding\IntersectionAdder.obj  noding\IntersectionFinderAdder.obj  noding\IteratedNoder.obj  noding\MCIndexNoder.obj  noding\MCIndexSegmentSetMutualIntersector.obj  noding\NodedSegmentString.obj  noding\NodingValidator.obj  noding\Octant.obj  noding\OrientedCoordinateArray.obj  noding\ScaledNoder.obj  noding\SegmentIntersectionDetector.obj  noding\SegmentNode.obj  noding\SegmentNodeList.obj  noding\SegmentString.obj  noding\SegmentStringUtil.obj  noding\SimpleNoder.obj  noding\SingleInteriorIntersectionFinder.obj  noding\snapround\HotPixel.obj  noding\snapround\MCIndexPointSnapper.obj  noding\snapround\MCIndexSnapRounder.obj  noding\snapround\SimpleSnapRounder.obj  operation\GeometryGraphOperation.obj  operation\IsSimpleOp.obj  operation\buffer\BufferBuilder.obj  operation\buffer\BufferInputLineSimplifier.obj  operation\buffer\BufferParameters.obj  operation\buffer\BufferOp.obj  operation\buffer\BufferSubgraph.obj  operation\buffer\OffsetCurveBuilder.obj  operation\buffer\OffsetCurveSetBuilder.obj  operation\buffer\OffsetSegmentGenerator.obj  operation\buffer\RightmostEdgeFinder.obj  operation\buffer\SubgraphDepthLocater.obj  operation\distance\ConnectedElementLocationFilter.obj  operation\distance\ConnectedElementPointFilter.obj  operation\distance\DistanceOp.obj  operation\distance\GeometryLocation.obj  operation\linemerge\EdgeString.obj  operation\linemerge\LineMergeDirectedEdge.obj  operation\linemerge\LineMergeEdge.obj  operation\linemerge\LineMergeGraph.obj  operation\linemerge\LineMerger.obj  operation\linemerge\LineSequencer.obj  operation\overlay\EdgeSetNoder.obj  operation\overlay\ElevationMatrix.obj  operation\overlay\ElevationMatrixCell.obj  operation\overlay\LineBuilder.obj  operation\overlay\MaximalEdgeRing.obj  operation\overlay\MinimalEdgeRing.obj  operation\overlay\OverlayNodeFactory.obj  operation\overlay\OverlayOp.obj  operation\overlay\PointBuilder.obj  operation\overlay\PolygonBuilder.obj  operation\overlay\snap\GeometrySnapper.obj  operation\overlay\snap\LineStringSnapper.obj  operation\overlay\snap\SnapOverlayOp.obj  operation\overlay\snap\SnapIfNeededOverlayOp.obj  operation\overlay\validate\FuzzyPointLocator.obj  operation\overlay\validate\OffsetPointGenerator.obj  operation\overlay\validate\OverlayResultValidator.obj  operation\polygonize\PolygonizeDirectedEdge.obj  operation\polygonize\PolygonizeEdge.obj  operation\polygonize\EdgeRing.obj  operation\polygonize\PolygonizeGraph.obj  operation\polygonize\Polygonizer.obj  operation\predicate\RectangleContains.obj  operation\predicate\RectangleIntersects.obj  operation\predicate\SegmentIntersectionTester.obj  operation\relate\EdgeEndBuilder.obj  operation\relate\EdgeEndBundle.obj  operation\relate\EdgeEndBundleStar.obj  operation\relate\RelateComputer.obj  operation\relate\RelateNode.obj  operation\relate\RelateNodeFactory.obj  operation\relate\RelateNodeGraph.obj  operation\relate\RelateOp.obj  operation\sharedpaths\SharedPathsOp.obj  operation\union\CascadedPolygonUnion.obj  operation\union\CascadedUnion.obj  operation\union\PointGeometryUnion.obj  operation\union\UnaryUnionOp.obj  operation\valid\ConnectedInteriorTester.obj  operation\valid\ConsistentAreaTester.obj  operation\valid\IndexedNestedRingTester.obj  operation\valid\IsValidOp.obj  operation\valid\QuadtreeNestedRingTester.obj  operation\valid\RepeatedPointTester.obj  operation\valid\SimpleNestedRingTester.obj  operation\valid\SweeplineNestedRingTester.obj  operation\valid\TopologyValidationError.obj  planargraph\DirectedEdge.obj  planargraph\DirectedEdgeStar.obj  planargraph\Edge.obj  planargraph\Node.obj  planargraph\NodeMap.obj  planargraph\PlanarGraph.obj  planargraph\Subgraph.obj  planargraph\algorithm\ConnectedSubgraphFinder.obj  precision\CommonBits.obj  precision\CommonBitsOp.obj  precision\CommonBitsRemover.obj  precision\EnhancedPrecisionOp.obj  precision\GeometryPrecisionReducer.obj  precision\PrecisionReducerCoordinateOperation.obj  precision\SimpleGeometryPrecisionReducer.obj  simplify\DouglasPeuckerLineSimplifier.obj  simplify\DouglasPeuckerSimplifier.obj  simplify\LineSegmentIndex.obj  simplify\TaggedLineSegment.obj  simplify\TaggedLinesSimplifier.obj  simplify\TaggedLineString.obj  simplify\TaggedLineStringSimplifier.obj  simplify\TopologyPreservingSimplifier.obj  triangulate\DelaunayTriangulationBuilder.obj  triangulate\IncrementalDelaunayTriangulator.obj  triangulate\quadedge\LastFoundQuadEdgeLocator.obj  triangulate\quadedge\LocateFailureException.obj  triangulate\quadedge\QuadEdge.obj  triangulate\quadedge\QuadEdgeLocator.obj  triangulate\quadedge\QuadEdgeSubdivision.obj  triangulate\quadedge\TrianglePredicate.obj  triangulate\quadedge\TriangleVisitor.obj  triangulate\quadedge\Vertex.obj  util\Assert.obj  util\GeometricShapeFactory.obj  util\Interrupt.obj  util\math.obj  util\Profiler.obj  linearref\ExtractLineByLocation.obj  linearref\LengthIndexOfPoint.obj  linearref\LengthIndexedLine.obj  linearref\LengthLocationMap.obj  linearref\LinearGeometryBuilder.obj  linearref\LinearIterator.obj  linearref\LinearLocation.obj  linearref\LocationIndexOfLine.obj  linearref\LocationIndexOfPoint.obj  ..\capi\geos_c.obj  ..\capi\geos_ts_c.obj  inlines.obj /out:geos.dll /implib:geos_i.lib
Microsoft (R) Incremental Linker Version 14.28.29334.0
Copyright (C) Microsoft Corporation.  All rights reserved.

  正在创建库 geos_i.lib 和对象 geos_i.exp
        if exist geos.dll.manifest mt -manifest geos.dll.manifest -outputresource:geos.dll;2
        link.exe /dll /debug  ..\capi\geos_c.obj ..\capi\geos_ts_c.obj geos.lib /out:geos_c.dll /implib:geos_c_i.lib
Microsoft (R) Incremental Linker Version 14.28.29334.0
Copyright (C) Microsoft Corporation.  All rights reserved.

  正在创建库 geos_c_i.lib 和对象 geos_c_i.exp
        if exist geos_c.dll.manifest mt -manifest geos_c.dll.manifest -outputresource:geos_c.dll;2
        cd ..

6、检查,检查src文件夹中是否出现如下几个文件:D:\GDAL_GEOS_PROJ\geos-3.4.2\geos-3.4.2\src

 

 

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值