编译C程序遇XFree未定义引用及DSO缺失错误求助
解决XFree链接错误的方案
问题根源:
XFree是X11库(libX11)提供的函数,你的编译命令只链接了VTE库,但没有显式链接libX11,导致链接器找不到该函数的实现。虽然VTE依赖X11,但pkg-config输出的链接参数可能没有显式包含它(或链接顺序问题导致无法自动解析)。修正编译命令:在原命令末尾添加
-lX11,强制链接libX11库:
gcc -Wall $(pkg-config --cflags vte-2.91) cprogram.c -o cprogram $(pkg-config --libs vte-2.91) -lX11
- 关于
-M选项:这个参数的作用是生成Makefile格式的依赖文件,并非用来编译生成可执行程序,所以没有输出文件是正常行为,它只会打印源文件依赖的头文件列表。
内容的提问来源于stack exchange,提问作者user22023581
相关产品推荐
相关产品推荐

