我正在尝试使用expect.h头编译用c编写的程序。我正在尝试这个:
cc -I/usr/include main.c -lexpect -ltcl
cc -I/usr/include main.c
我尝试使用gcc,但无济于事。
我明白了:
undefined reference to `exp_spawnl'
undefined reference to `exp_expectl'
有什么想法吗?
谢谢,
沃尔特
答案 0 :(得分:1)
这意味着无论您如何使用,所使用的expect库都不包含这两个函数。因此,您需要追踪实际加载的期望库,然后检查函数是否在其中(它们不是,但您应该检查以查看定义的内容)。
找到图书馆后,您可以使用nm -g libexpect.so
查看已定义的图标。我希望您在定义的符号列表中看不到exp_spawnl
或exp_expectl
。
然后你需要找出你所拥有的库的版本,并决定是否升级等。
我假设您引用的名字确实拼写正确。
答案 1 :(得分:0)
期望头文件是否安装在/ usr / include? p>中
我认为未定义的引用错误来自链接器而不是编译器。安装库的目录是什么?尝试使用
链接它 -L/path/to/lib -lexpect
选项