Неразрешенная ошибка символа в библиотеке soci

Я понимаю, что такое неразрешенная ошибка символа, но я не понимаю, почему я получаю ее в этой конкретной ситуации с этой конкретной библиотекой. Вот вывод ошибки.

Undefined symbols for architecture x86_64:
"soci::soci_error::soci_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
soci::type_conversion<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>::from_base(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, soci::indicator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in Inspector.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Обратите внимание, что я использую следующие флаги ссылок:

-L/usr/local/lib -lsoci_core -lsoci_postgresql -lpq -ldl

Отметим также, что ссылки на другие символы (например, soci::session конструктор и деструктор) решаются.

Что я делаю неправильно? Есть ли еще какая-то социальная библиотека, с которой я тоже должен ссылаться?

РЕДАКТИРОВАТЬ: Обратите внимание, что я работаю на Mac OS X и пробовал обе установки через homebrew (через brew install soci --with-pg) и автономные установки 3.2.2 и 3.2.1.

0

Решение

Я не знаю, почему это решило ошибку, но переход от libc ++ к libstdc ++ разрешил ее.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]