Проблема с nlohmann - json через командную строку на Lunix - PullRequest
0 голосов
/ 25 марта 2020

У меня странная проблема при использовании nlohmann-parser для файлов json. Я пишу код на C ++, используя CLion, и через приложение я могу дать определенные параметры моей основной функции (какой файл открыть, ...). В CLion у меня нет проблем, синтаксический анализатор работает просто отлично, читает и получает то, что должен получить, НО, когда я пытаюсь запустить его через командную строку, он не работает и выдает ошибку синтаксического анализа.

Вот как я читаю из файла:

void TYPE::deteremineFromFile(const string &fileName) {
//string name = "Users/niels/home/niels/CLionProjects/TO-individ/" + fileName;
string name = "../" + fileName;
ifstream i(name);
json j;

i >> j;
// then I do some stuff with it using j.at()
}

Вот как я включаю парсер и использую json:

#include "json.hpp"
using json = nlohmann::json;

Думаю, пока в этом нет ничего плохого, и в CLion, когда я даю своей программе fileName в качестве входных данных, происходит то, что должно произойти.

Но в терминале (сначала я делаю карту сборки, а на этой карте я делаю cmake, все, а затем я делаю build / name_of_Program program_argument), который просто не работает и выдает следующую ошибку:

terminate called after throwing an instance of 'nlohmann::detail::parse_error'
  what():  [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '[', '{', or a literal

С файлом json ничего плохого, я проверил его тысячу раз, и я также пытался использовать абсолютные пути, а не абсолютные, но ничего не работает, ...

Кто-нибудь из вас, пожалуйста, имеет представление о том, что я мог бы сделать?

...