0

Вот тот новый кусок кода, где появились те самые ошибки:

#define ZLIB_WINAPI
#include <zlib.h>

static inline char* compress_string(const char* str, int level) { uLongf compressed_size = compressBound(strlen(str) + 1); char* compressed_data = (char*)malloc(compressed_size);

if (compress2((Bytef*)compressed_data, &amp;compressed_size, (const Bytef*)str, strlen(str) + 1, level) != Z_OK) {
    MessageBox(NULL, (LPCWSTR)L&quot;Error compressing string.&quot;, (LPCWSTR)L&quot;Error Details&quot;, MB_ICONERROR | MB_OK);
    free(compressed_data);
    return nullptr;
}

return compressed_data;

}

Ошибки при сборке программы такие:

Ошибка LNK2019 ссылка на неразрешенный внешний символ compress2 в функции "char * __cdecl compress_string(char const *,int)" (?compress_string@@YAPEADPEBDH@Z).

Ошибка LNK2019 ссылка на неразрешенный внешний символ compressBound в функции "char * __cdecl compress_string(char const *,int)" (?compress_string@@YAPEADPEBDH@Z).

В свойствах проекта я указал компоновщику на zlib.lib, архитектура проекта установлена на x64. Эта библиотека и в x86 есть. Но все равно не может найти. Я уже компоновщику и в дополнительные библиотеки ссылку прямую кидал на lib файлы, все те же ошибки...

  • Убедитесь, что линкуемая библиотека была собрана совместимо с ZLIB_WINAPI (проверьте экспортируемые там символы), ну или без этой директивы попробуйте собрать. – user7860670 Jan 06 '24 at 14:54
  • @user7860670 получилось!!! Спасибо большое, достаточно было убрать ZLIB_WINAPI – Алексей Морозов Jan 06 '24 at 15:01

0 Answers0