Получить неопределенную ссылку при компиляции клиента C ++ для ZooKeeper

Я пытаюсь скомпилировать свою самую первую программу на C ++, в которой я пытаюсь подключиться к ZooKeeper и делать другие вещи. В моем коде у меня есть эти строки:

//test.cpp

#include "zookeeper.h"... all other header files from zookeeper/include

void main_watcher (zhandle_t *zkh,
int type,
int state,
const char *path,
void* context)
{
if(type == ZOO_SESSION_EVENT){
if(state == ZOO_CONNECTED_STATE){
...
}
...
}
}

int main(){
return 0;
}

Но когда я собираю это test.cpp файл (на самом деле, я предоставляю ссылку на zookeeper /…/ build / usr / lib и путь ко всем включенным файлам), я получаю список этих сообщений об ошибках:

undefined reference to ZOO_SESSION_EVENT
undefined reference to ZOO_CONNECTED_STATE
...

Что я делаю неправильно?

1

Решение

Вы забываете ссылка на сайт скорее всего, зоопарк. Как правило, вы должны сделать что-то вроде

g++ -lzookeper -o yourprogram yourprogram.c

может это

-lzookeeper-mt

возможно, нет. Обычно это работа построить систему чтобы понять эти вещи для вас.

1

Другие решения