Невозможно включить библиотеку rapidjson в VS2017 - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь включить библиотеку rapidjson в проект VS Community 2017.

При создании нового проекта я попытался включить / добавить каталог rapidjson-master\include\rapidjson в следующих местах:

  1. Свойства -> Свойства конфигурации -> C / C ++ -> Общие -> Дополнительные каталоги включения.

  2. Свойства -> Свойства конфигурации -> Каталоги VC ++ -> Включить каталоги.

В любом случае, когда я пытаюсь включить файл, связанный с rapidjson, VS сообщает, что не может найти исходный файл.

Итак,когда я даю это:

#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"

Я получаю следующие ошибки:

Ошибка (активная) E1696 не может открыть исходный файл "rapidjson / document.h"

Ошибка (активная) E1696 не может открыть исходный файл "rapidjson / writer.h"

Ошибка (активная) E1696 не может открыть исходный файл "rapidjson / stringbuffer.h"

VS Информация:

Сообщество Microsoft Visual Studio 2017

Version 15.6.3

Сообщите мне, если вы знаете правильный способ использования rapidjson в Visual Studio.

РЕДАКТИРОВАТЬ:

Документация rapidjson советует нам "просто скопировать папку include/rapidjson в системный путь или путь включения проекта" .

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Потратив некоторое время, пытаясь выяснить, почему он не включает внешние библиотеки, я наконец нашел свое решение.

Когда я добавлял путь к своему additional include directories, я делал это вследующая конфигурация:

Конфигурация: отладка

Платформа: x64.

Однако в моем VS2017 каждый раз, когда я создаю новый проект,Конфигурация по умолчанию, заданная для компиляции / запуска, выглядит следующим образом:

Конфигурация: отладка

Платформа: x86

Основная причина моей проблемынесоответствие платформ между настройкой проекта и компиляцией проекта.Итак, я думаю, что всегда лучше проверить, одинаковы ли платформа и конфигурация в таких случаях.

Дополнительная информация: (относительно комментариев и другого ответа на этот вопрос)

Не имеет значения, включен ли каталог rapidjson-master\include\rapidjson или rapidjson-master\include\.В первом мы включаем файлы как #include "document.h", а во втором это будет #include "rapidjson/document.h".

0 голосов
/ 12 июня 2018

Похоже, что путь включения должен быть просто rapidjson-master\include, но давайте начнем с самого начала.

  1. Клонировать хранилище quickjson;выполните в командной строке следующее:

    mkdir C:/ThirdParty
    cd C:/ThirdParty
    git clone https://github.com/Tencent/rapidjson.git
    

    Замените удобный каталог на C:/ThirdParty.

  2. В Visual Studio откройте решение и в обозревателе решений:выберите проект, в котором используется quickjson, и либо воспользуйтесь функцией главного меню PROJECT Properties, либо щелкните правой кнопкой мыши проект и выберите Properties из меню параметров.Откроется диалоговое окно «Свойства».

  3. Выберите C / C ++ General в списке в левой части диалогового окна.

  4. Теперь в правой части диалогового окна первая строка должна быть «Дополнительные каталоги включения».Отредактируйте эту строку, добавив C:/ThirdParty/rapidjson/include в конец списка.

...