2016-02-07 68 views
0

我試圖將程序的VICI的自己的應用程序的頭文件是某種對於strongswan應用 (https://www.strongswan.org/apidoc/md_src_libcharon_plugins_vici_README.html鏈接到VICI庫

存在一個例子,如何建立一個接口的簡單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坐落在一個文件夾/文件夾1 /文件夾2所以我試圖通過GCC鏈接到它:

gcc myapp.c -L/folder1/folder2 

,但我得到的未定義的引用「vici_init」(一個錯誤是在一個函數在VICI應用程序)

我也試圖通過

gcc myapp.c -L/usr/lib/ipsec 

但同樣的錯誤如上鍊接庫文件/usr/lib/ipsec/libvici.a。

如果有人能告訴我如何正確包含/鏈接頭文件,這樣我就可以使用VICI應用程序,這將是非常好的。

謝謝!

回答

0

我終於找到了解決我的問題。上面的命令幾乎是正確的,但是gcc的參數的順序不是。

這個工作對我來說:

gcc -L/usr/lib/ipsec -lvici myapp.c