Почему я получаю ошибку LNK2001 при ссылке на zlib.lib? - PullRequest
0 голосов
/ 19 июля 2010

Я работаю над проектом, который уже содержит библиотеку gzip следующим образом:

zlib\zlib.h  
zlib\zlib.lib
zlib\zconf.h  

Я бы хотел использовать функции gzip из этого .lib, но получаю следующие ошибки :

Compress.cpp
Linking...
Compress.obj : error LNK2001: unresolved external symbol _gzclose
Compress.obj : error LNK2001: unresolved external symbol _gzerror
Compress.obj : error LNK2001: unresolved external symbol _gzwrite
Compress.obj : error LNK2001: unresolved external symbol _gzopen
.\Debug/files.exe : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.  

Настройки ссылки включают в себя:
Объектные / библиотечные модули: zlib.lib
Параметры проекта:
zlib.lib

В файле, использующем функции gzX (), он

#include "zlib/zlib.h"

Что еще нужно сделать здесь, чтобы использовать эти функции?

Спасибо.

РЕДАКТИРОВАТЬ : Использование Visual Studio 6.0 C ++

EDIT2 : Оказалось, что у статической библиотеки, которую я использовал, были удалены функции gz (). Заголовочный файл все еще имел их, что вводило в заблуждение.

Ответы [ 4 ]

5 голосов
/ 19 июля 2010

Я взял один здесь , чтобы заставить zlib встроить в Windows. Если вы сделали то же самое, вы могли забыть #define ZLIB_WINAPI, прежде чем включать zlib.h

2 голосов
/ 19 июля 2010

Когда сборка останавливается, нажмите Ctrl + клик на URL, чтобы увидеть более подробную форму журнала и проверьте фактическую командную строку, переданную компоновщику. По крайней мере, это скажет вам, соблюдается ли ссылка на zlib. Вы можете получить другой полезный диагностический вывод. Одна возможность может заключаться в том, что архитектура отличается (например, вы собираете x64, но lib - x86)

2 голосов
/ 19 июля 2010

Вам также необходимо добавить zlib.lib в библиотеки вашего проекта: Свойства проекта-> Линкер-> Ввод-> Дополнительные зависимости.

0 голосов
/ 21 июля 2010

Оказалось, что у статической библиотеки, которую я использовал, были удалены функции gz ().Заголовочный файл все еще имел их, что вводило в заблуждение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...