我正在尝试在 vala 中发出 get 请求,如下所示: https://wiki.gnome.org/Vala/LibSoupSample 。我完全按照它所说的去做,编译器抛出了这个:
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。在elementaryos(最新的稳定版本)上运行。有什么想法吗?
最佳答案
今天早些时候我也遇到了同样的问题。这个例子似乎已经过时了。它不再称为 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;
}
关于vala - 未定义对 `soup_session_new' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18302985/