首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当试图包含mlpack时,VSCode‘无法打开源代码文件“boost/Serialization.hpp”(依赖于“mlpack/core.hpp”)。

当试图包含mlpack时,VSCode‘无法打开源代码文件“boost/Serialization.hpp”(依赖于“mlpack/core.hpp”)。
EN

Stack Overflow用户
提问于 2021-05-17 13:08:46
回答 1查看 336关注 0票数 0

我试图在VSCode中使用mlpack。我使用brew安装了库,并在c_cpp_properties.json中包含了路径:

代码语言:javascript
复制
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/opt/homebrew/Cellar/mlpack/3.4.2_2/include"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "macos-clang-arm64"
        }
    ],
    "version": 4
} 

但是,当我尝试包含core.hpp时,我会得到以下错误:

代码语言:javascript
复制
cannot open source file "boost/serialization/serialization.hpp" (dependency of "mlpack/core.hpp")C/C++(1696)

有人知道怎么解决这个问题吗?我的理解是brew处理依赖关系,这是错误的吗?

下面是我当前的tasks.json:

代码语言:javascript
复制
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: clang++ build all files",
            "command": "/usr/bin/clang++",
            "args": [
                "-std=c++17",
                "-stdlib=libc++",
                "-g",
                "${workspaceFolder}/src/*.cpp",
                "--include-directory=/opt/homebrew/Cellar/mlpack/3.4.2_2/include",
                "--include-directory=/opt/homebrew/Cellar/boost/1.75.0_3/include",
                "--include-directory=/opt/homebrew/Cellar/armadillo/10.4.1_1/include",
                "-o",
                "${workspaceFolder}/build/app",
                "-larmadillo",
                "-lmlpack"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: /usr/bin/clang++"
        }
    ]
}

编辑:如果我为boost和armadillo添加路径:

代码语言:javascript
复制
"includePath": [
                "${workspaceFolder}/**",
                "/opt/homebrew/Cellar/mlpack/3.4.2_2/include",
                "/opt/homebrew/Cellar/boost/1.75.0_3/include",
                "/opt/homebrew/Cellar/armadillo/10.4.1_1/include"
            ],

这个错误变成:

代码语言:javascript
复制
'mlpack/core.hpp' file not found
EN

回答 1

Stack Overflow用户

发布于 2022-07-18 14:58:29

在includePath中只需添加以下内容:

"/opt/homebrew/opt/boost/include"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67570341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档