Поэтому я пытаюсь сохранить ответ на HTTP-запрос libcURL в C-строку для последующего анализа. Код ответа полностью написан на C, а все остальное — на C++, и с любым другим компилятором C++ он должен работать нормально. Но когда я пытаюсь скомпилировать, даже если я передаю аргументы «-x c», за которыми следует имя файла, я получаю следующие конкретные ответы.
Код: Выделить всё
g++ main.cpp -x c cJSON.c -x c respbuffer.c -lcurl -lm
./respbuffer.c:14:9: error: assigning to 'char *' from incompatible type 'void *'
s->ptr = malloc(s->len+1);
^ ~~~~~~~~~~~~~~~~
./respbuffer.c:23:9: error: assigning to 'char *' from incompatible type 'void *'
s->ptr = realloc(s->ptr, new_len+1);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Как ни странно, эта ошибка появляется только при компиляции с помощью g++. Если я использую gcc, он работает нормально и работает достаточно гладко. Для любопытных: я все написал в Xcode и компилирую с помощью GCC 4.2.1.
Подробнее:
https://stackoverflow.com/questions/321 ... -type-void