【问题标题】:cannot open source file in VSCode on Linux (ms-vscode.cpptools)无法在 Linux 上的 VSCode 中打开源文件 (ms-vscode.cpptools)
【发布时间】:2020-06-09 10:31:44
【问题描述】:

所以我今天在使用 GTK-3.0 时遇到了这个错误,Linux 似乎对如何包含头文件感到困惑,因为通常我会使用 #include <gtk/gtk.h> 但因为那不起作用我必须添加 @ 987654322@。这就是我的c_cpp_properties.json 文件的样子。


添加/usr/include/gtk-3.0 似乎是一个解决方案,但因为gtk.h 依赖于其他库,我必须找出如何让VSCode 递归查找文件。我已经尝试过/usr/local/include/*,但没有成功。

{
    "configurations": [
        {
            "name": "Linux",
            "defines": [],
            "includePath": [
                "/usr/local/include",           
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++14",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4 }

【问题讨论】:

    标签: c linux file visual-studio-code


    【解决方案1】:

    pkg-config 命令通常用于确定所需的所有依赖项和标志。

    pkg-config --cflags gtk+-3.0 的输出应为您提供所有编译器标志和pkg-config --libs gtk+-3.0 所有链接器标志。

    pkg-config 也有一个 --static 标志,如果您需要静态链接(这需要链接更多的依赖项)和一个 --msvc-syntax 标志来生成 MSVC 样式的标志。

    通常您在配置或构建工具中调用这些命令(例如在Makefileconfigure 中)。即使您使用 Code::Blocks,您也可以通过用反引号括起来来调用 pkg-config

    【讨论】:

    • 我应该将所有这些路径添加到 c_cpp_properties.json 吗?没有永久修复吗?
    • 我不知道你用那个 .json 文件做什么,但通常你在配置或构建工具中调用这些命令(例如在Makefile./configure 中)。即使您使用 Code::Blocks,您也可以通过用反引号括起来来调用 pkg-config。事实上,我不明白你为什么不使用 ./configuremake 构建,因为你在 Linux 上......
    • 是的,我正在手动编译,但目前我正在阅读 Makefile 上的文档以使用它。
    • @sachiel2008 如果我可以给你一个提示:Makefile 很老而且很一般。它对为 Windows 构建一无所知。 Autoconf 工具在这方面稍好一些。但是如果你正在学习新的东西,你应该将注意力集中在更现代的构建系统上,比如 CMake,它在包括 Windows 在内的许多平台上运行良好。如果你将 CMake 与 Ninja 结合起来,而不是 Make,它的构建速度会非常快。
    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    • 2014-05-27
    • 2012-01-08
    • 2016-05-27
    相关资源
    最近更新 更多