Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ soci库出现未解决的符号错误_C++_Postgresql_Linker_Shared Libraries_Soci - Fatal编程技术网

C++ soci库出现未解决的符号错误

C++ soci库出现未解决的符号错误,c++,postgresql,linker,shared-libraries,soci,C++,Postgresql,Linker,Shared Libraries,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

我知道什么是未解决的符号错误,但我不明白为什么在这个特定库的特定情况下得到它。这是错误的输出

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)
还请注意,正在解析对其他符号的引用(例如,
soci::session
构造函数和析构函数)

我做错了什么?是否还有另一个我也应该链接的soci库?


编辑:请注意,我正在使用Mac OS X,并尝试了通过自制(通过
brew install soci--with pg
)进行安装,以及独立安装3.2.2和3.2.1。

我不知道为什么这样解决了错误,但从libc++改为libstdc++解决了问题

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