nlohmann JSON C++ Включить вопрос

В настоящее время у меня возникает проблема, из-за которой код Visual Studio не распознает включение файла json.hpp независимо от того, что я делаю в IDE, я не знаю, вызвана ли эта проблема самой IDE, моей собственной глупая ошибка, или кстати библиотека json установлена. Я использовал linuxbrew на Ubuntu Server 16.04 LTS, чтобы установить его, и у меня последняя стабильная версия. Я использую компилятор g++ (версия 5.5, я верю)

Код включает

Сообщение об ошибке

Я все еще новичок в этом, поэтому я включил снимки экрана с ошибкой, которую она вызывает, вместе с тем, как она упоминается в коде, чтобы, надеюсь, дать некоторое представление о том, что происходит. Не стесняйтесь спрашивать, нужна ли дополнительная информация.

c_cpp_properties.json:

{
"configurations": [
    {
        "name": "Linux",
        "includePath": [
            "${workspaceFolder}/**",
            "opt/opencv/release/include",
            "/home/linuxbrew/.linuxbrew/Cellar/nlohmann_json/3.1.2/include"
        ],
        "defines": [],
        "compilerPath": "/usr/bin/gcc",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4
}

tasks.json:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build app",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g", "src/calibration.cpp",
                "-o", "build/calibration.out",
                "-std=c++11",
                "-L/usr/local/Cellar/opencv/3.4.1_5/lib",
                "-lopencv_stitching",
                "-lopencv_superres",
                "-lopencv_videostab",
                "-lopencv_aruco",
                "-lopencv_bgsegm",
                "-lopencv_bioinspired",
                "-lopencv_ccalib",
                "-lopencv_dnn_objdetect",
                "-lopencv_dpm",
                "-lopencv_face",
                "-lopencv_photo",
                "-lopencv_fuzzy",
                "-lopencv_hfs",
                "-lopencv_img_hash",
                "-lopencv_line_descriptor",
                "-lopencv_optflow",
                "-lopencv_reg",
                "-lopencv_rgbd",
                "-lopencv_saliency",
                "-lopencv_stereo",
                "-lopencv_structured_light",
                "-lopencv_phase_unwrapping",
                "-lopencv_surface_matching",
                "-lopencv_tracking",
                "-lopencv_datasets",
                "-lopencv_dnn",
                "-lopencv_plot",
                "-lopencv_xfeatures2d",
                "-lopencv_shape",
                "-lopencv_video",
                "-lopencv_ml",
                "-lopencv_ximgproc",
                "-lopencv_calib3d",
                "-lopencv_features2d",
                "-lopencv_highgui",
                "-lopencv_videoio",
                "-lopencv_flann",
                "-lopencv_xobjdetect",
                "-lopencv_imgcodecs",
                "-lopencv_objdetect",
                "-lopencv_xphoto",
                "-lopencv_imgproc",
                "-lopencv_core"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

1 ответ

Решение

Вам необходимо добавить путь включения в командную строку gcc, например:

....
"args": [
                "-g", "src/calibration.cpp",
                "-o", "build/calibration.out",
                "-std=c++11",
                "-I/home/linuxbrew/.linuxbrew/Cellar/nlohmann_json/3.1.2/include",
....

Обязательно сохраните файл перед сборкой.

Другие вопросы по тегам