VS Code 添加库依赖?

问题描述 投票:0回答:1

我想将库依赖项添加到我的项目中,而不必将它们复制并粘贴到

MinGW
文件夹中。有没有办法通过
VS Code
来做到这一点?几乎类似于
Visual Studio
与包含路径的配合方式。

注意:我的配置可以编译并完美运行,直到您尝试添加外部依赖项。

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceRoot}",
                "/usr/include",
                "/usr/local/include"
            ],
            "defines": [],
            "intelliSenseMode": "clang-x64",
            "browse": {
                "path": [
                    "/usr/include",
                    "/usr/local/include"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        },
        {
            "name": "Linux",
            "includePath": [
                "${workspaceRoot}",
                "/usr/include",
                "/usr/local/include"
            ],
            "defines": [],
            "intelliSenseMode": "clang-x64",
            "browse": {
                "path": [
                    "/usr/include",
                    "/usr/local/include"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        },
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include/*",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/ucrt",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/shared",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/winrt",
                "${workspaceRoot}/Dep/include/*",
                "${workspaceRoot}/Dep/lib/glew32.lib"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/include/*",
                    "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um",
                    "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/ucrt",
                    "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/shared",
                    "C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/winrt"
                ],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
            }
        }
    ]
}

任务.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "command": "g++",
    "type": "shell",
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared"
    },
    "tasks": [
      {
          "taskName": "Build",
          "suppressTaskName": true,
          "windows": {
                "args": [
                    "-g",
                    "--std=c++11",
                    "main.cpp",
                    "-o", "Builds/Win/engine",
                    "glew32.lib",
                    // LIB ARGS
                    "-lopengl32",
                    "-lglu32",
                    //"-lmingw32",
                    "-lglew32"
                ]
            }
        }  
    ]
}

启动.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch",
            "request": "launch",
            "type": "cppvsdbg",
            "program": "${workspaceRoot}/Builds/Win/engine.exe",
            "preLaunchTask": "Build",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "windows": {
                "program": "${workspaceRoot}/Builds/Win/engine.exe"
            }
        }
    ]
}
c++ dependencies visual-studio-code lib
1个回答
0
投票

我认为你不能这样做,因为与构建相关的依赖项是由 Makefile 或 CMakeLists.txt 处理的

c_cpp_properties.json 中添加的“includePath”用于 lint 或 IntelliSense,与构建无关。

您不必将依赖项复制到 MinGW 文件夹中。您所要做的就是将包含目录和库添加到构建系统中,例如:Makefile。

© www.soinside.com 2019 - 2024. All rights reserved.