Cgoを使用してCライブラリ(GEOS、FWIW)とバインドするGo 1.5アプリケーションがあります。私がしなければならないことは、最終的に私たちの継続的な統合システムを通じて展開できるように、ベンダーです。問題は、いったんそれが一旦取り出されると、リンカーがライブラリとリンクするように納得させる方法を知らないということです。 godep
を実行した後、cgo指示文を含むファイルは.../vendor/.../geos.go
です。私は、そこにlibディレクトリを作成しGEOSから5つの.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)
どうすれば正しくリンクされますか?