我能够在 OSX 10.8.3 上编译和运行使用 C++ boost 图形库 (BGL) 的可执行文件。但是当我尝试使用 gdb 或 Xcode 进行调试时,调试器无法找到 BGL 头文件中定义的符号adjacency_list.hpp
。我查看了文件并尝试了不同的命名空间
boost::in_degree
boost::detail::in_degree
但是调试器找不到符号。似乎函数是内联的并且信息丢失了。我尝试了另一个具有相同结果的函数(add_vertex)。我使用带有标志的 CMake 编译代码,-DCMAKE_BUILD_TYPE=Debug
并且能够打印其他符号。请建议我该如何解决这个问题。
// Trying using
(gdb) print boost::detail::in_degree
No symbol "in_degree" in namespace "boost::detail".
(gdb) print boost::detail::in_degree(0, *pGraph)
No symbol "in_degree" in namespace "boost::detail".
(gdb) print boost::in_degree(0, *pGraph)
No symbol "in_degree" in namespace "boost".
// Trying using boost::
(gdb) pt boost::in_degree
No symbol "in_degree" in namespace "boost".
(gdb) pt boost::in_degree(0, *pGraph)
No symbol "in_degree" in namespace "boost".