2013-08-18 86 views
2

我想在vala中按照以下方式提出獲取請求:https://wiki.gnome.org/Vala/LibSoupSample。我這樣做正是它說,編譯器會拋出這樣的:對`soup_session_new'的未定義引用

Connection.vala.c:(.text+0x76): undefined reference to `soup_session_new' 
collect2: ld returned 1 exit status 
error: cc exited with status 256 
Compilation failed: 1 error(s), 0 warning(s) 

這是從pkg-config --libs --cflags libsoup-2.4

-pthread -I/usr/include/libsoup-2.4 -I/usr/include/libxml2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 

我VALA 0.20.1結果。在初級(最新的穩定版本)上運行。有任何想法嗎?

回答

3

今天早些時候我有同樣的問題。看起來這個例子已經過時了。它不再被稱爲soup_session_new,現在的參考文獻是soup_session_sync_new。使用new Soup.SessionSync(),它應該工作。

這裏有一個工作示例:

using Soup; 

int main (string[] args) { 

    string url = "http://google.com"; 

    stdout.printf ("Getting data from %s\n", url); 

    var session = new Soup.SessionSync(); 
    var message = new Soup.Message ("GET", url); 

    session.send_message (message); 
    stdout.write (message.response_body.data); 
    return 0; 
}