Other go - robotgo - image detection, missing png.h (cgo)

I'd like to use robotgo and I think it *SHOULD* work on FreeBSD, but I'm wondering how to handle the path differences between Linux and FreeBSD.

I can see png.h is in /usr/local/include instead of /usr/include.

I don't want to copy libs from /usr/local/include into /usr/include because that defeats the whole point of the separate directory structure in the first place. I don't believe a nullfs mountpoint would help here, because I want to merge the contents of both directories, nullfs would only allow 1 to win.
 
Good call, I don't code in C, but forgot about makefiles. I will dig through what I can find in go to see if I can sort it out.
 
Hmm, so there isn't a makefile from what I can tell; however, go uses cgo to interface c libraries - I'm certainly not a go expert, just enough to do some cool things.

I tried setting CGO flags, but that doesn't seem to get me anywhere. I'm also thinking that since go is built for FreeBSD, it should automatically look for libraries and headers under /usr/local/include.

The flags I tried setting were:
export CGO_CFLAGS=-I/usr/local/include
export CGO_LDFLAGS=-L/usr/local/lib
 
Did you verify that png.h is actually in /usr/local/include/ ?

If yes, since this is a specific golang question I would edit the subject line of this post or post on a golang-specific platform.

According to https://pkg.go.dev/cmd/cgo you can also set CFLAGS inside a go file.
 
Back
Top