Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка при линковании

3.2K
28 сентября 2008 года
Гудвин
186 / / 22.12.2007
с Visual практически не знаком, но здесь возникла необходимость разобраться с одним исходным кодом. Компиляция происходит без проблем, но при компановки выдало сообщение

Цитата:

LINK : fatal error LNK1181: cannot open input file 'eztw32.lib'



я так понял это для работы со сканером. нашел этот файл в дирректории на один уровень выше.
тогда попробовал скинуть этот файл в папку с исходником, или изменить additional dependencies в свойствах проекта с "version.lib eztw32.lib" на "version.lib ..\eztw32.lib"
, после чего в обоих случаях при компановки стали вылезать ошибки по всем obj файлам примерно такого содержания:

Цитата:

DlgOrderForm.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class String __cdecl Database::getLanguage(void)" (__imp_?getLanguage@Database@@SA?AVString@@XZ)
DlgReport.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class String __cdecl Database::getLanguage(void)" (__imp_?getLanguage@Database@@SA?AVString@@XZ)
DlgSetAction.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class String __cdecl Database::getLanguage(void)" (__imp_?getLanguage@Database@@SA?AVString@@XZ)
DlgViewContracts.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: long __thiscall Workset::getLong(unsigned long,unsigned long)const " (__imp_?getLong@Workset@@QBEJKK@Z)


подскажите как тут быть? Заранее премного благодарен.

14K
28 сентября 2008 года
crot
16 / / 25.07.2006
Цитата: Гудвин
..."version.lib ..\eztw32.lib"...



Такое изменение приводит к тому, что решая проблему линковки для одних obj-файлов ты создаешь ее для других.

В данном случаи тебе необходимо добавить путь к директории, где располагается библиотека. Как это делается в MSVC++ я не знаю, т.к. использую MinGW, но называться должно как-то вроде additional link directory.

288
29 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Сомневаюсь, что изменение "version.lib eztw32.lib" на "version.lib ..\eztw32.lib" как-то повлияло на другие OBJ. Просто вероятнее всего (раз линкер перестал ругаться на "cannot open input file"), не включен какой-то еще необходимый lib-файл.

P.S., ксати в Студии необязательно указывать lib-ки именно в additional dependencies. Можно просто добавить их в проект.
P.S.S.
[QUOTE=crot]
В данном случаи тебе необходимо добавить путь к директории, где располагается библиотека. Как это делается в MSVC++ я не знаю, т.к. использую MinGW, но называться должно как-то вроде additional link directory.
[/QUOTE]
Tools->Options...->Projects and Solutions->VC++ Directories (это в 2005)
3.2K
29 сентября 2008 года
Гудвин
186 / / 22.12.2007
прописал пути (пробовал и так и так), ситуация ни как не изменилась. выдает ошибки по все obj файлам
288
29 сентября 2008 года
nikitozz
1.2K / / 09.03.2007
Проверьте, есть ли реализация этих функций, на которые ругается линкер в проекте. Если нет, посмотрите из каких библиотек они импортируются и подключены ли соответствующие lib'ки.
3.2K
30 сентября 2008 года
Гудвин
186 / / 22.12.2007
спасибо разобрался. здесь в начале отдельным проектом следовало скомпилировать библиотеки.:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог