我正在尝试使用goncurses。在Centos 6上,ncurses库很旧(5.7,需要5.9),所以我从源代码构建了ncurses并将其安装到/ usr / lib,/ usr / include等。
如何告诉“ go get”针对/ usr / lib中的内容而不是/ lib中的系统内容运行?
这是我当前的输出:
$ go get -v code.google.com/p/goncurses code.google.com/p/goncurses # code.google.com/p/goncurses /tmp/go-build076024492/code.google.com/p/goncurses/_obj/goncurses.o: In function `ncurses_is_subwin': src/code.google.com/p/goncurses/goncurses.c:71: undefined reference to `is_subwin' /tmp/go-build076024492/code.google.com/p/goncurses/_obj/goncurses.o: In function `ncurses_is_pad': src/code.google.com/p/goncurses/goncurses.c:63: undefined reference to `is_pad' collect2: ld returned 1 exit status
我已经尝试过上不同的变化LD_LIBRARY_PATH=/usr/lib,并-ccflags = '-I /usr/lib'与出任何行为改变。
LD_LIBRARY_PATH=/usr/lib
-ccflags = '-I /usr/lib'
我知道这是一个简单的问题,但是我的google-fu现在让我失望了。
该goncurses软件包依赖于pkg-config获取正确的构建路径。
goncurses
pkg-config
如果您可以pkg- config在系统上输出ncurses的正确路径,那么go将从那里做正确的事情。当然,您的另一个选择是分叉goncurses代码,并#cgo在源代码中编辑指令。
pkg- config
#cgo