我正在尝试与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'
上尝试了不同的变体,但行为没有任何变化。
我知道这是一个简单的问题,但我的谷歌现在让我失望了。
答案 0 :(得分:2)
goncurses
软件包依赖于pkg-config
来获取正确的构建路径。
如果您可以让pkg-config
在您的系统上为ncurses输出正确的路径 - 那么就可以从那里做正确的事情。您的另一个选择当然是分叉goncurses代码,并编辑源代码中的#cgo
指令。