Я пытаюсь использовать функцию сжатия 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));
Любая подсказка?
Проблема была в том, что определение старого стиля C не поддерживается GNU C ++
длинный ZEXPORT adler32 (адлер, буф, лен)
длинный адлер;
const Bytef * buf;
не лен;
{…}
исправлено с
Долгий ZEXPORT adler32 (Долгий адлер, const Bytef * buf, uInt len) {…}
решил мою проблему.
Других решений пока нет …