Ошибка компиляции zlib с VxWorks 6.8

Я пытаюсь использовать функцию сжатия gzip на VxWorks 6.8.

Руководство по развитию VxWorks помогает дать говорит,

Вы можете добавить функцию сжатия gzip в вашу систему независимо
веб-сервера Wind River, добавив файлы библиотеки zlib в ваш
проект. Для этого добавьте файлы из
установить каталог / компоненты / webcli-4.x / target / src / wrn / wm / common / zlib в ваш
проект. Затем используйте флаг компилятора -DWITH_ZLIB при сборке
система.

Я пробовал, но получаю ошибки сборки

../zlib/zlib_adler32.cpp:21: error: 'z_uLong zlib_z_adler32' redeclared as different kind of symbol

../zlib/zlib.h:822: error: previous declaration of 'z_uLong zlib_z_adler32(z_uLong, const z_Bytef*, z_uInt)'

../zlib/zlib_adler32.cpp:25: error: expected unqualified-id before '{' token
C:\WindRiver\utilities-1.0\x86-win32\bin\make.exe: *** [.../zlib/zlib_adler32.o] Error 1

Примечание: файлы были с расширением .c, изменили его на .cpp и использовали компилятор C ++. функции объявлены с внешним «C»

объявление функции может быть проверил здесь

ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));

Любая подсказка?

-1

Решение

Проблема была в том, что определение старого стиля C не поддерживается GNU C ++

длинный ZEXPORT adler32 (адлер, буф, лен)
длинный адлер;
const Bytef * buf;
не лен;
{…}

исправлено с
Долгий ZEXPORT adler32 (Долгий адлер, const Bytef * buf, uInt len) {…}

решил мою проблему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]