Форум программистов, компьютерный форум CyberForum.ru

Дорогие, помогите с линковкой libeay32.lib - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
REllanium
2 / 2 / 0
Регистрация: 22.07.2011
Сообщений: 9
22.07.2011, 11:27     Дорогие, помогите с линковкой libeay32.lib #1
Здравствуйте, Уважаемые гуру! Собираю ntp-сервер, написанный на "с". Называется ntp 4.2.6p3 http://support.ntp.org/bin/view/Main/SoftwareDownloads Собираю его в Visual Studio 2003, в последствии буду интегрировать в свой проект. Проблема в следующем. В ntp используется openSSL и соответственно требуются либы. При линковке кричал, что не может найти libeay32.lib.
Скачал openSSL, собрал его так:

> perl Configure VC-WIN32 no-asm --prefix=c:\mydir\ssl
> ms\do_ms
> nmake -f ms\nt.mak
> nmake -f ms\nt.mak install

в итоге получил libeay32.lib, указал пути к ней, сделал ребилд ntp-сервера. В итоге имеем следующее:

Код
ntpd warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
ntpd error LNK2019: unresolved external symbol _optionUsage referenced in function _getCmdOpts
ntpd error LNK2001: unresolved external symbol _optionUsage
и еще 99 ошибок LNK
output:
Код
cmd_args.obj : error LNK2019: unresolved external symbol _optionUsage referenced in function _getCmdOpts
ntpd-opts.obj : error LNK2001: unresolved external symbol _optionUsage
.....
в свойствах проекта->с/c++->general->Debug Information Format - сделал disabled и исчез ворнинг:
Код
ntpd warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
но остались ошибки линковки. Да, забыл сказать, что ntp 4.2.6p3 специально был портирован разработчиками под VS2003 (за что им огромное спасибо). Собрка ведется отсюда: ...\ntp-4.2.6p3\ports\winnt\vs2003

какие будут мысли, товарищи?? Благодарен за ранее!!! Да, и всех с пятницей!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2011, 11:27     Дорогие, помогите с линковкой libeay32.lib
Посмотрите здесь:

проблемы с линковкой C++
Проблема с линковкой C++
64-битная версия vcomp.lib и vcompd.lib из Visual Studio 2010 C++
Проблема с линковкой C++
C++ Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined libcpmtd.lib
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
22.07.2011, 11:37     Дорогие, помогите с линковкой libeay32.lib #2
Пути указал, а саму либу указал?
Варианты сборки (Debug/Release) совпадают?
-=ЮрА=-
Заблокирован
Автор FAQ
22.07.2011, 11:47     Дорогие, помогите с линковкой libeay32.lib #3
Попробуй в проекте забить
C++
1
#pragma comment(lib, "libeay32.lib")
lib- должна быть в папочке проекта
REllanium
2 / 2 / 0
Регистрация: 22.07.2011
Сообщений: 9
22.07.2011, 12:07  [ТС]     Дорогие, помогите с линковкой libeay32.lib #4
Цитата Сообщение от Deviaphan Посмотреть сообщение
Пути указал, а саму либу указал?
Либа была уже указана изначально. Вот Comand Line линкёра:

Код
/OUT:"bin/Debug/ntpd.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\test_ntp\ntp-4.2.6p3\include\openssl" /DEBUG /PDB:"bin/Debug/ntpd.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 odbc32.lib odbccp32.lib ws2_32.lib winmm.lib libeay32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "\test_ntp\ntp-4.2.6p3\include\openssl\libeay32.lib
Цитата Сообщение от Deviaphan Посмотреть сообщение
Варианты сборки (Debug/Release) совпадают?
Cделал совпадающими, но тоже всё осталось по прежнему.

Попробуй в проекте забить

#pragma comment(lib, "libeay32.lib")

lib- должна быть в папочке проекта
в каком файле это забивать?
-=ЮрА=-
Заблокирован
Автор FAQ
22.07.2011, 12:14     Дорогие, помогите с линковкой libeay32.lib #5
После подключения хедеров, в МФЦ обычно делаю это в ИмяПроектаDlg.cpp или stdafx.h
Вот примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#if !defined(AFX_STDAFX_H__62B6706E_1768_4BD9_9D56_7C46B533672B__INCLUDED_)
#define AFX_STDAFX_H__62B6706E_1768_4BD9_9D56_7C46B533672B__INCLUDED_
 
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
 
#define VC_EXTRALEAN        // Exclude rarely-used stuff from Windows headers
 
#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdisp.h>        // MFC Automation classes
#include <afxdtctl.h>       // MFC support for Internet Explorer 4 Common Controls
#include <atlbase.h>        // for CComQIPtr etc.
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>         // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
 
#include "imapi.h"
#include "imapierror.h"
 
/*#include <atlbase.h>
//You may derive a class from CComModule 
//and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
//#include <initguid.h>
//#include <unknwn.h>*/
 
#pragma comment(lib, "uuid.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "oleaut32.lib")
REllanium
2 / 2 / 0
Регистрация: 22.07.2011
Сообщений: 9
22.07.2011, 12:27  [ТС]     Дорогие, помогите с линковкой libeay32.lib #6
у меня не MFC, но всё равно указал #pragma comment(lib, "libeay32.lib") в ntpd.c , либу положил в корень проекта. Сделал ребилд ничего не изменилось..
Вот думается - может версия openSSL - ни та.. хотя и компилировалась тем же компилятором, что и проект..
Yandex
Объявления
22.07.2011, 12:27     Дорогие, помогите с линковкой libeay32.lib
Ответ Создать тему
Опции темы

Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru