g ++ compile включенный заголовок: нет такого файла или каталога

Так что об этом много раз спрашивали, но я не смог решить свою проблему в течение 2 часов, я надеюсь, что кто-то может мне помочь, возможно, есть только 1 или 2 незначительные вещи ...

Я включаю .hpp в свой файл, vscode не имеет проблем (includepath настроен), но когда я пытаюсь скомпилировать программу, возникает ошибка: такого файла нет. Коды-сниппеты ниже.

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.18362.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe",
            "includePath": [
                "D:/foo/bar/boost_1_62_0/boost"
            ],
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

tests.cpp

#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE HELLO
#include "test/unit_test.hpp"

int substract (int a, int b) {
    return a-b;
}

BOOST_AUTO_TEST_CASE(subtractTest) {
    BOOST_CHECK(substract(9,6) == 3);
}

cmd команда компиляции

g++ -o tests -l/D:/foo/bar/boost_1_62_0/boost/test/unit_test.hpp -I/D:/foo/bar/boost_1_62_0/boost/test tests.cpp

фатальная ошибка: boost / test / unit_test.hpp: нет такого файла или каталога

любая помощь приветствуется!


person cdol    schedule 07.07.2020    source источник


Ответы (1)


Если вы завершили путь включения с помощью ".../boost", директива #include не должна начинаться с ускорения. То, что вы сделали, разрешается "D:/foo/bar/boost_1_62_0/boost/boost/test/unit_test.hpp"

person Lőrinc Bethlenfalvy    schedule 07.07.2020
comment
Я отредактировал свой код, но, к сожалению, моя проблема не решена. - person cdol; 07.07.2020