2014-02-13 119 views
1

我正在研究一个使用ncurses的程序,它将用于嵌入式系统。由于这些系统不会安装ncurses,我需要静态链接库。但是,如果我尝试建立像这样静态链接库。 c编译

gcc -static ncurs.c -o ncurs -l:libncurses.a 

gcc -static ncurs.c -o ncurs -lncurses 

我得到一吨的错误是这样的:

(.text+0x48): undefined reference to `SP' 
/usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/libncurses.a(lib_slktouch.o): In function `slk_touch': 

正常编译工作正常。

我已经搜索了几个小时,但我无法找到任何好的信息...

平台开发的被剥离下来的Debian系统。

回答

3

结束时,我猜你可能需要额外的库,可以尝试-lncurses -ltinfo

您可以检查您的系统的链接库的标志为ncurses使用我的系统命令

pkg-config --static --libs ncurses 

,我

-lncurses -ltinfo 
+0

哇感谢,这是解决我的问题上,你会介意解释-ltinfo的用途是什么? – RG337

+0

这是另一个库libtinfo – yongzhy

1

尝试加入-ltinfo你的命令行