【问题标题】:VSCode cannot find package but CLion can (CMake)VSCode 找不到包,但 CLion 可以(CMake)
【发布时间】:2021-04-29 21:21:58
【问题描述】:

我想知道在 VSCode 中使用 cmake 和 (compile_commands 和 compile_flags) 有什么区别?我遇到了一个问题,即使我的 CMake 设置正确(在 Clion 上构建得很好),我在尝试在 VSCode 中使用完全相同的代码时遇到了问题。

我有下面的违规行

#include "palisade.h"

palisade 安装在 "/usr/local/include/palisade" 中,我的 CMake 明确查找并找到它

find_package(Palisade)


我还生成了文件compile_commands.json

通过cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1

但我仍然遇到找不到库的问题

【问题讨论】:

  • 也许您的默认包含路径不包含 /usr/local/include 您是使用“CMake Tools extension for VS Code”将 CMake 与 VSCode 一起使用,还是您是如何在 VSCode 中设置代码的?
  • 当然,但是在我的配置中没有提到它位于/usr/local/include/ :/
  • 我在clion中设置的?对不起,我不完全理解这个问题。我已经安装了 cmake tools 和 cmake 如果这是你要问的吗?
  • 在 VSCode 中有一个扩展“CMake Tools extension for VS Code”,您可以在其中使用 CMake 构建代码。如果您不这样做并使用默认的 VSCode 设置,则需要使用包含路径配置 tasks.json 和 c_cpp_properties.json,使用包含要链接的文件夹和库的链接器设置配置 taks.json。

标签: c++ visual-studio-code cmake palisade


【解决方案1】:

可能会有帮助。

在主 CMakeLists.txt 添加行

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

在 c_cpp_properties.json 中

"compileCommands": "${workspaceFolder}/build/compile_commands.json"

这将允许 InteliSence 使用 cmake 创建的依赖项。

【讨论】:

    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多