我正在使用SWIG通过以下命令向Go公开一些C ++函数:
gcc -std=c++0x -Wall -Wextra -pedantic -fPIC -shared -L./lib -lsomething -o example.so
swig -go -intgosize 32 example.i
go tool 6g example.go
go tool 6c -I /usr/lib/go/pkg/linux_amd64 -D_64BIT example_gc.c
go tool pack grc example.a example.6 example_gc.6
rm -f example_wrap.c
go install // this installs the generated .a; not the .so
对于我的项目,我使用/ src:/ pkg:/ bin文件结构,$ GOHOME指向它。当我在另一个Go包中使用import "example"
时,我得到:
error while loading shared libraries: example.so: cannot open shared object file: No such file or directory
我在哪里放置共享库,以便找到它?没有搞乱系统目录。