zoukankan      html  css  js  c++  java
  • Gogeos安装

    环境要求:

    Windows64,Go,minGW(统一64位)

    1、安装geos

    下载GEOS 3.3.8源码,解压后,按readme文件编译(基于VS2010的64位编译工具执行的nmake编译命令)在src目录下得到geos_c.dll,将头文件整理为include文件夹:

    geos_c.h

    geos

      export.h

      platform.h

      version.h

    只需要geos里的三个头文件即可

    2、安装gogeos

    参考http://paulsmith.github.io/gogeos/安装gogeos

    执行go get github.com/paulsmith/gogeos/geos命令,下载源码在build过程中会报错:找不到geos_c.h

    解决办法:

    在GOPATH下的gogeos源码(D:workgosrcgithub.compaulsmithgogeosgeoscoordseq.go)中增加cgo配置如下:

     

    /*

    #cgo CFLAGS : -ID:/tool/geos/geosbin/include

    #cgo LDFLAGS : -LD:/tool/geos/geosbin/bin

    #include "geos.h"

    */

    import "C"

    ……

    include为前面geos的头文件,bin为geos_c.dll所在目录

    然后重新执行go get github.com/paulsmith/gogeos/geos命令,go包安装成功,在GOPATH下的pkgwindows_amd64github.compaulsmithgogeos文件夹中生成geos.a

    总结:LDFLAGS设置的是dll动态连接库的位置,不是lib库,之前一直理解错了,windows上要注意64位和32位的坑,保证版本一致

    cgo工具提供了c语言包导出到go中使用的功能,但在使用cgo导入c语言包时,注意设置CFLAGS和LDFLAGS参数,cgo会链接所有的依赖库,导致编译过程耗时较长。

  • 相关阅读:
    Why use strong named assemblies?
    Dependency Walker
    “等一下,我碰!”——常见的2D碰撞检测
    MOBA游戏的网络同步技术
    VS2017如何配置openGL环境
    UE4关于Oculus Rift (VR)开发忠告
    UE4 的json读写方式
    Blueprint 编译概述
    UE4编码规范
    Unreal Enginer4特性介绍
  • 原文地址:https://www.cnblogs.com/HandyLi/p/9014232.html
Copyright © 2011-2022 走看看