c - 静态链接库。 c编译

标签 c linux static libraries ncurses

我正在开发一个使用 ncurses 的程序,它将用于嵌入式系统。由于这些系统没有安装 ncurses,我需要静态链接库。但是,如果我尝试像这样构建它

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 系统。

最佳答案

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

您可以在您的系统上使用命令检查链接器库为 ncurses 标记的内容

pkg-config --static --libs ncurses

在我的系统上,我得到了

-lncurses -ltinfo

关于c - 静态链接库。 c编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21768055/

相关文章:

C:如何通过套接字读取和解包消息?

c - 使用 C 和 GSL 的立方根

正则表达式判断字符串是否包含 linux 文件路径或 linux 文件路径是否作为字符串的一部分

java - BigDecimal 包装器 : to have a ZERO static field

javascript - ES6 静态方法指的是 self ?

c - 为什么函数返回类型需要是 (void*) 类型才能在 C 中进行线程化?

C用execvp输出的另一个命令执行一个命令

python - raw_input 识别 ^?但不是^H

linux - Perl : Error on compilation, libssl.so.4 无法打开共享对象

java - 修饰符 static 只允许在常量变量声明中