【问题标题】:How to configure VSCode to work with SCIP Optimization software如何配置 VSCode 以使用 SCIP 优化软件
【发布时间】:2020-06-29 18:52:02
【问题描述】:

我正在尝试从 sublime 文本迁移到 VSCode,我想知道如何配置 VSCode 以与 SCIP 一起正常工作。

我的 c_cpp_properties.json 文件如下所示:

    {
        "configurations": [
            {
                "name": "Mac",
                "includePath": [
                    "${workspaceFolder}/**",
                    "/Library/scip7/scip/",
                    "/Library/scip7/scip/src"
                ],
                "defines": [],
                "macFrameworkPath": [],
                "compilerPath": "/usr/local/bin/gcc-9",
                "cStandard": "c11",
                "cppStandard": "gnu++14",
                "intelliSenseMode": "clang-x64"
            }
        ],
        "version": 4
    }

我能够让代码完成工作,但在 VScode 终端的“问题”选项卡中出现这些错误

#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (/Users/morpheus/main.cpp)

cannot open source file "scip/config.h" (dependency of "/Users/morpheus/main.cpp")

这不会严重影响开发,但我想知道是否有简单的解决方法。

【问题讨论】:

    标签: visual-studio-code scip


    【解决方案1】:

    据我所知(而且我不是 VScode 专业人士),如果您不使用 **,则包含路径不是递归的。看起来 scip 不在您的工作区文件夹中,对吗? 您可以尝试使用"/Library/scip7/scip/src/**" 看看是否能解决您的问题?

    编辑:好的最后希望:我只是发布适合我的自己的配置。注意我这里的$workspaceFolder是scip源码目录。

    {
        "configurations": [
            {
                "name": "Linux",
                "includePath": [
                    "${workspaceFolder}",
                    "${workspaceFolder}/src",
                    "${workspaceFolder}/src/scip",
                    "${workspaceFolder}/src/lpi"
                ],
                "defines": [
                    "SOPLEX_WITH_GMP",
                    "SCIP_WITH_GMP",
                    "SCIP_WITH_ZIMPL"
                ],
                "intelliSenseMode": "clang-x64",
                "browse": {
                    "path": [
                        "${workspaceFolder}/src"
                    ],
                    "limitSymbolsToIncludedHeaders": true,
                    "databaseFilename": ""
                },
                "cStandard": "c11",
                "cppStandard": "c++11"
            }
        ],
        "version": 4
    }
    

    【讨论】:

    • 感谢您的 SCIP 不在我的工作区文件夹中,很遗憾它不起作用。错误仍然存​​在。如果我将 SCIP 放在工作区文件夹中,您认为会有帮助吗?
    • 好的,接下来的两件事:1) 尝试将"/Library/scip7/scip/src/scip 放入您的包含路径(这是 config.h 所在的位置)。 2)你真的编译了scip吗?因为config.h 仅在 scip 已构建时才存在(它是从 config.h.in 自动创建的
    • 我尝试了上述方法,但没有成功。我确实在一开始就使用 make 编译了 SCIP。我可能没有提到这一点,我的代码从命令行运行良好。只有 VSCode 有问题。
    • 我用我自己的适合我的配置更新了我的原始帖子,我希望它有所帮助
    • 我又回头看了一遍(不确定您的问题是否真的解决了)。如果您使用 make 编译 scip,则 NO_CONFIG_HEADER 被设置为编译标志。您可以通过在 c_cpp_properties.json 定义中添加“NO_CONFIG_HEADER”来让 vscode 意识到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 2022-12-28
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多