我正在尝试为 VICI 编写自己的应用程序,这是 strongswan 应用程序的某种接口(https://www.strongswan.org/apidoc/md_src_libcharon_plugins_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 位于文件夹 /folder1/folder2 中,因此我尝试通过 gcc 链接到它:
gcc myapp.c -L/folder1/folder2
但我得到一个未定义引用的错误 'vici_init' (这是 VICI 应用程序中的一个函数)
我还尝试通过链接到库文件 /usr/lib/ipsec/libvici.a
gcc myapp.c -L/usr/lib/ipsec
但是和上面一样的错误。
如果有人能告诉我如何正确包含/链接头文件以便我可以使用 VICI 应用程序,那就太好了。
谢谢!