【发布时间】:2020-04-18 13:27:39
【问题描述】:
我想在我的 C++ 代码中使用 Boost 库,所以我输入了正确的包含搜索路径和正确的库搜索路径,然后我在 Xcode 中添加了所有 Boost 库文件。当我构建我的代码时,编译器说构建成功。但是,一旦我运行代码,控制台就会告诉您:
控制台:
dyld: Symbol not found: _PyBaseObject_Type
Referenced from: /usr/local/lib/libboost_python27.dylib
Expected in: flat namespace
in /usr/local/lib/libboost_python27.dylib
Program ended with exit code: 9
我的代码:
#include <iostream>
#include <boost/any.hpp>
int main()
{
std::cout << std::endl;
return 0;
}
我的错误在哪里?请帮忙。
【问题讨论】:
-
Boost 不是库,它是相当庞大的库集。 boost::any 的使用感觉毫无意义,因为 any 是由 C++17 作为 std::any 添加到 C++ 中的。所以只需包含
并使用 std::any. -
@ÖöTiib
any只是一个例子。任何库都会引发错误。 -
如果每个库都有,那么显然是您如何安装库或将它们合并到您的项目中的问题。阅读stackoverflow.com/questions/12573816/… 了解常见原因。
-
我遇到了同样的问题。你解决了吗?
-
@ZackLee 是的,但我不太喜欢这个解决方案。我刚刚通过自制软件安装了 Boost。
标签: c++ macos boost boost-python macos-catalina