On Wed, Apr 12, 2017 at 4:42 PM, larry104 <larg.weil...@gmail.com> wrote:
>
> I seems I need to manually run swig (swig -go -cgo -c++ -intgosize 64
> mylib.i) - it does not seem that 'go build' picks up the .i or .swig file.
> Then I need to call 'go tool cgo mylib.go'. This creates an _obj directory
> with a bunch of files. After that I tried calling 'go build'. This errors
> out when my c++ code refers to some 3d party libs. How can I tell 'go build'
> additional flags for compiling and linking like -I and -L flags?

When the go tool sees a .swig (for C) or .swigcxx (for C++) file, it
will invoke SWIG itself.  The file should be in the same directory as
the Go sources for the package.  See
https://golang.org/cmd/go/#hdr-Calling_between_Go_and_C .  Note that
there must be at least one .go files in the directory, and it needs to
be in a proper GOPATH directory.

Nevertheless, it should work to run SWIG yourself.  But running `go
tool cgo` yourself is just going to end in tears.  You're going to
need to let the go tool run cgo on your behalf.

To get -I and -L options, add a .go files that uses import "C" and
#cgo CFLAGS and #cgo LDFLAGS.  See https://golang.org/cmd/cgo and
https://github.com/golang/go/issues/6696#issuecomment-89016670 .

Ian

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to