[libvirt] Compiling a simple code which include libvirt

I am trying to compile this code by two methods but it shows error 1) Without -lvirt option */tmp/ccHGRn8q.o: In function `main': ex1.c:(.text+0x15): undefined reference to `virConnectOpen' ex1.c:(.text+0x57): undefined reference to `virConnectClose'* 2) with -lvirt option */usr/bin/ld: cannot find -lvirt collect2: ld returned 1 exit status* Someone help me!

On 02.09.2012 09:53, Rahul Bansal wrote:
/* example ex1.c */ /* compile with: gcc -g -Wall ex1.c -o ex -lvirt */ #include <stdio.h> #include <stdlib.h> #include "include/libvirt/libvirt.h"
since you are including this path assume you use -I/path/to/libvirt/source and don't have libvirt installed in your system. Hence you need to provide linker the path where it will find the library: gcc -I/path/to/libvirt -L/path/to/libvirt/src -lvirt ex1.c -o ex1 or just install libvirt ('sudo make install' in /path/to/libvirt) and then you can drop both -I and -L arguments.
int main(int argc, char *argv[]) { virConnectPtr conn; conn = virConnectOpen("qemu:///system"); if (conn == NULL) { fprintf(stderr, "Failed to open connection to qemu:///system\n"); return 1; } virConnectClose(conn); return 0; }
participants (2)
-
Michal Privoznik
-
Rahul Bansal