我正在尝试为VICI编写一个自己的应用程序,这是强天鹅应用程序(README.html)的某种接口。
有一个例子说明如何构建一个简单的VICI客户端:
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <libvici.h>
int main(int argc, char *argv[])
{
vici_conn_t *conn;
int ret = 0;
vici_init();
conn = vici_connect(NULL);
if (conn)
{
/* do stuff */
vici_disconnect(conn);
}
else
{
ret = errno;
fprintf(stderr, "connecting failed: %s\n", strerror(errno));
}
vici_deinit();
return ret;
}到目前为止,我尝试了很多方法来正确地使用gcc构建这个应用程序,但是每次我都会遇到错误,原因要么是头文件丢失了,要么是存在未定义的引用等等。我找不到成功的方法。头文件libvici.h位于文件夹/ folder 1/folder 2中,因此我尝试通过gcc链接到它:
gcc myapp.c -L/folder1/folder2但是,我得到了对'vici_init‘的未定义引用的错误(这是VICI应用程序中的一个函数)。
我还试图链接到库文件/usr/lib/ipsec/libvici.avia
gcc myapp.c -L/usr/lib/ipsec但与上面的错误相同。
如果有人能告诉我如何正确地包含/链接头文件,这样我就可以使用VICI应用程序,这将是非常好的。
谢谢!
发布于 2016-02-08 17:06:00
我终于找到了解决问题的办法。上面的命令几乎是正确的,但gcc的论点的顺序不是。
这对我来说很管用:
gcc -L/usr/lib/ipsec -lvici myapp.chttps://stackoverflow.com/questions/35251873
复制相似问题