0

我正在使用 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 指向它。当我import "example" 在另一个 Go 包中使用时,我得到:

error while loading shared libraries: example.so: cannot open shared object file: No such file or directory

我必须将共享库放在哪里,以便找到它?无需在系统目录中乱搞。

4

0 回答 0