【发布时间】:2021-08-03 15:24:38
【问题描述】:
这似乎是一个愚蠢的问题,但它困扰了我很长时间。首先,我自己搭建了leveldb,make install。然后,我可以使用#include <leveldb/db.h> 等。但是,我无法使用jump to the implementation 的某些功能。 ps:我正在使用 vscode 和 vscode-cmake 扩展。
例如,我不能跳转到Open函数的实现。
【问题讨论】:
-
在构建 leveldb 时添加调试符号可能会有所帮助:
cmake -DCMAKE_BUILD_TYPE=Debug或cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo。 -
安装库与告诉项目使用库不同。
-
@sweenish 没有,但
target_link_libraries()有,而且 OP 显然有, -
您拥有
add_definitions(..., "-g")的事实表明您没有使用cmake 的正常调试/发布机制(如@Thomas 所述)。但如果你指的是智能感知的代码导航,那可能不相关。 CMakeLists.txt 是否位于您在 VSCode 中打开的工作区的根目录?如果不是这种情况,相对路径可能会混淆。 -
@Thomas @Frank 我用
Debug模式重建leveldb,删除add_definitions(..., "-g")并使CMakeList.txt 位于根目录。但这不行。 VSCode 有什么问题吗?我决定使用 IDE 再试一次。
标签: c++ visual-studio-code makefile cmake