1

我能够在 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".
4

0 回答 0