下載 GEOS
目前最新版本是3.7.0遇八,但考慮到最新版的穩(wěn)定性茂浮,所以最后下載的是3.6.3碍沐。
使用 nmake 編譯
1.進(jìn)行相關(guān)配置
在 geos 的解壓目錄下找到nmake.opt
文件佃扼,用文本編輯器打開(kāi)(最好不要使用記事本)升略,編輯以下內(nèi)容:
- 第26行:
BUILD_DEBUG = YES
(如果需要用 Release 模式的話可以不設(shè)置這個(gè)) - 第56行:
WIN64 = YES
- 第151行:
GEOS_MSVC = 14.10
- 第152行:
GEOS_MSC = 1910
2.使用 vs2017 自帶的命令行工具
在開(kāi)始菜單中找到 x64 命令行工具微王,運(yùn)行后使用 cd 命令進(jìn)入 geos 解壓目錄下屡限,首先執(zhí)行autogen.bat
,然后執(zhí)行nmake /f makefile.vc
炕倘。如果編譯成功的話可以在 src 文件夾內(nèi)看到多了一些.lib
和.dll
文件钧大。
配置 vs2017
新建一個(gè)控制臺(tái)項(xiàng)目,打開(kāi)之后選擇項(xiàng)目 -> 屬性
罩旋。
選擇
C/C++ -> 常規(guī) - > 附加包含目錄
啊央,添加 geos 目錄下的 include 目錄。選擇
鏈接器 -> 常規(guī) -> 附加庫(kù)目錄
涨醋,添加 geos 目錄下的 src 目錄劣挫。選擇
鏈接器 -> 輸入 -> 附加依賴(lài)項(xiàng)
,手動(dòng)輸入 geos_d.lib东帅。
測(cè)試
說(shuō)明:以下是在本機(jī)上出現(xiàn)的情況压固,不一定具有普遍性。
geos 目錄下的 doc 子目錄內(nèi)有一個(gè)example.cpp
靠闭,添加到剛才新建的項(xiàng)目中帐我,編譯,發(fā)現(xiàn)main
函數(shù)的第一行代碼就有錯(cuò)誤愧膀,geosversion()
和jtsport()
這兩個(gè)函數(shù)無(wú)法解析拦键。這兩個(gè)函數(shù)的作用就是獲取一些版本信息的,按理說(shuō)該包含的頭文件都包含了檩淋,不知道為何編譯時(shí)解析不了芬为。
我的解決方案是把這兩個(gè)函數(shù)分別換成GEOS_VERSION
和GEOS_JTS_PORT
這兩個(gè)常量,并且引入頭文件#include <geos/version.h>
蟀悦。編譯成功媚朦,運(yùn)行也成功。