0

我正在学习 eosio 智能合约,在教程的开头,他们要求我包含 eosio/eosio.hpp。但是,由于我的 CDT 版本,它是 eosiolib。我在 Mac 上使用 vscode 2019。完成输入后,我收到一条错误消息:检测到 #include 错误。请更新您的 includePath。这是我的 .json 文件

    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "/usr/local/include",

                "${workspaceFolder}/**"

            ],
            "defines": [],
            "macFrameworkPath": [],
            "compilerPath": "/usr/local/bin/gcc-9",
            "cStandard": "c11",
            "intelliSenseMode": "clang-x64",
            "browse": {
                "path": [
                    "/usr/local/include",
                    "${workspaceRoot}"
                ]
            },
            "cppStandard": "c++11"
        }
    ],
    "version": 4
}```
4

1 回答 1

0

您需要将路径添加到您的 eosio.cdt 包含目录。这是一篇包含更多信息的文章,但以下内容应该可以解决您的问题。

"includePath": [
            "${workspaceFolder}/**",
            "/usr/local/opt/eosio.cdt/opt/eosio.cdt/include/**
        ],
        "defines": [
            "uint128_t=__uint128_t",
            "int128_t=__int128_t"
        ]

此外,将 cppStandard 更新为"cppStandard": "c++17" (用于 IntelliSense 的 C++ 语言标准的版本)。EOS 智能合约是用 C++17 编写的。

于 2021-01-23T02:03:35.817 回答