Вот тот новый кусок кода, где появились те самые ошибки:
#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, &compressed_size, (const Bytef*)str, strlen(str) + 1, level) != Z_OK) {
MessageBox(NULL, (LPCWSTR)L"Error compressing string.", (LPCWSTR)L"Error Details", 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