我有一個使用cgo與C庫(GEOS,FWIW)綁定的Go 1.5應用程序。我需要做的是提供它,以便最終通過我們的持續集成系統進行部署。問題是,我不知道如何說服連接器與庫存鏈接後,一旦它的售價。在運行godep
之後,帶有cgo指令的文件是.../vendor/.../geos.go
。我創建了一個lib目錄中有,在從GEOS五個.so文件添加,並改變了序言如下:你如何用Cgo綁定來供應Go庫?
/*
#cgo LDFLAGS: -L${SRCDIR}/lib -lgeos_c
#include "geos.h"
*/
import "C"
這僅適用於一個點 - 當我運行go build
它找到的第一個庫,但不任何連續的庫。
在/ usr/bin中/ LD:警告:libgeos-3.4.2.so,由供應商需要/ github.com/paulsmith/gogeos/GEOS/lib中/ libgeos_c.so,沒有發現(嘗試使用-rpath或-rpath-link)
如何讓整個事情正確鏈接?