小编典典

如何更改lib路径以进行构建

go

我正在尝试使用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'与出任何行为改变。

我知道这是一个简单的问题,但是我的google-fu现在让我失望了。


阅读 316

收藏
2020-07-02

共1个答案

小编典典

goncurses软件包依赖于pkg-config获取正确的构建路径。

如果您可以pkg- config在系统上输出ncurses的正确路径,那么go将从那里做正确的事情。当然,您的另一个选择是分叉goncurses代码,并#cgo在源代码中编辑指令。

2020-07-02