Код: Выделить всё
/usr/includeКод: Выделить всё
using namespace std;
using namespace rapidjson;
void LoadJSONFile(string location, Document& doc) {
ifstream ifs(location);
string json((istreambuf_iterator(ifs)), istreambuf_iterator());
doc.Parse(json.c_str());
}
thread 229006 panic: applying non-zero offset 16 to null pointer
./include/rapidjson/internal/stack.h:117:13: 0x1358a37 in Reserve (utils.cpp)
./include/rapidjson/internal/stack.h:123:9: 0x135898c in Push (utils.cpp)
./include/rapidjson/document.h
./include/rapidjson/reader.h:593:13: 0x1355970 in ParseObject (utils.cpp)
./include/rapidjson/reader.h
./include/rapidjson/reader.h:501:13: 0x1353594 in Parse (utils.cpp)
./include/rapidjson/document.h
./include/rapidjson/document.h
./include/rapidjson/document.h
./include/rapidjson/document.h
/home/lexicled/Programming/Games/Raylib/station/utils.cpp:101:9: 0x13484f7 in LoadJSONFile (utils.cpp)
doc.Parse(json.c_str());
^
/home/lexicled/Programming/Games/Raylib/station/ResourceLocator.cpp:12:5: 0x11c4e5c in ResourceLocator (ResourceLocator.cpp)
LoadJSONFile(loc, data);
^
< /code>
Это соответствующий раздел сценария, который я использую для компиляции (пропущенные все имена файлов, так как их есть несколько, и они не имеют значения): < /p>
SRC=...
INCLUDE="-I./include"
LIB_LINUX="-L/usr/lib -lraylib -L/usr/lib -lGL -lm -lpthread -ldl -lrt -lX11"
zig c++ $SRC \
-target x86_64-linux-gnu \
-lc \
$INCLUDE $LIB_LINUX \
-o $OUTFILE_LINUX
< /code>
Я вывел строку json, прежде чем анализировать ее (где происходит ошибка), и все выглядит хорошо. Прочитанный файл также не изменился с тех пор, как я начал мигрировать с Cmake, в этот момент он работал нормально.
Рапиджсон просто совместим с Zig по какой -то причине (я не могу найти много онлайн об обоих) или это то, что я делаю неправильно? Чтобы не было, я решил проблему, просто обновив Rapidjson через восхитительный магистр Git Branch!
Подробнее здесь: https://stackoverflow.com/questions/797 ... ompilation
Мобильная версия