I am trying to compile a simple gearman worker on C. I use mac. Here is the code:
#include <libgearman/gearman.h>
int main(void) {
gearman_worker_st worker;
gearman_worker_create(&worker);
gearman_worker_add_server(&worker, "localhost", 4730);
return 0;
}
When I try to compile it with:
#gcc test.c Undefined symbols for architecture x86_64: "_gearman_worker_add_server", referenced from: _main in ccLUuf8y.o "_gearman_worker_create", referenced from: _main in ccLUuf8y.o ld: symbol(s) not found for architecture x86_64 collect2: ld returned 1 exit status
I know I have to link gcc with gearman but when try:
#gcc test.c -lgearman ld: library not found for -lgearman collect2: ld returned 1 exit status
Any ideas?
-I/some/where/include
for the headers, then you should probably say-L/some/where/lib
to find the library. I don't seem to have Gearman installed on my Mac; I know I've not installed it, and it doesn't seem to be in/lib
,/usr/lib
,/usr/local/lib
or/Developer
. - Jonathan Leffler