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