2

저는 Openssl을 처음 사용하여 http://www.josuegomes.com/codeblog/dhclient.htm에서 온라인으로 얻을 수있는 dhclient 프로그램을 실행하려고합니다.치명적인 오류 LNK1120 : 해결되지 않은 16 개의 외부 openssl : ssleay32MD.lib, libeay32MD.lib

그렇게하는 동안 나는 다음과 같은 얻을 오류,

dhclient.cpp
1> dhclient.obj : 오류 LNK2019 : 해결되지 않은 기능 "무효 __cdecl의 handle_error에서 참조 된 외부 기호 _ERR_print_errors_fp (숯불 CONST *, INT, 숯 CONST *) "(handle_error @@ YAXPBDH0 @ Z)
1> dhclient.obj : 오류 LNK2019 : 함수에서 참조되지 않은 외부 심볼 _SSL_load_error_strings?"무효 __cdecl init_OpenSSL (공극) "(init_OpenSSL @@ YAXXZ)
1 > dhclient.obj : 오류 LNK2019 : 확인되지 않은 외부 기호 _SSL_library_init가 "void __cde"함수에서 참조되었습니다. dhclient.obj : 오류 LNK2019 : "struct ssl_ctx_st * __cdecl setup_ctx (void)"함수에서 참조 된 확인할 수없는 외부 기호 _SSL_CTX_set_cipher_list (setup_ctx @? YAPAUssl_ctx_st @@ XZ))
1> dhclient.obj : 오류 LNK2019 :되지 않은 외부 심볼 함수에 참조 _SSL_CTX_new "구조체 ssl_ctx_st * __cdecl setup_ctx (공극)"(setup_ctx @@ YAPAUssl_ctx_st @@ XZ)
1> dhclient.obj : 오류 LNK2019 : 되지 않은 외부 기호 함수에서 참조 _TLSv1_client_method "구조체 ssl_ctx_st * __cdecl setup_ctx (공극)"
1> dhclient.obj (setup_ctx @@ YAPAUssl_ctx_st @@ XZ?) : 오류 LNK2019 : 함수에서 참조되지 않은 외부 심볼 _SSL_CTX_free
_main 1> dhclient.obj : 오류 LNK2019 : 오류 LNK2019 :
1> dhclient.obj _main 함수에서 참조되지 않은 외부 심볼 _SSL_free되지 않은 외부 기호 _SSL_shutdown
1> dhclient.obj _main 함수 참조 : 오류 LNK2019 :되지 않은 외부 기호가 참조 _SSL_read 오류 LNK2019 :
1> dhclient.obj _main 함수 오류 LNK2019 :되지 않은 외부 기호
1> dhclient.obj _main 함수에서 참조 _SSL_write 오류 :되지 않은 외부 심볼
1> dhclient.obj _main 함수에서 참조 _SSL_connect LNK2019 : _main 함수에서 참조하는 확인할 수없는 외부 기호 _SSL_set_bio
1> dhclient.obj : 오류 LNK2019 : unres 외부 함수 _imain에서 참조 된 _SSL_new 1> dhclient.obj : 오류 LNK2019 : _main 함수에서 참조되는 확인되지 않은 외부 기호 _BIO_ctrl 1> dhclient.obj : 오류 LNK2019 : _NO_connect 함수 _main에서 참조 된 _BIO_new_connect 오류 LNK2019 1> C : \ 사용자 \ Rucha \ 문서는 프로젝트 \ 비주얼 스튜디오 2010 \ \ emptyprojectssl \ 디버그 \가 emptyprojectssl.exe : 치명적인 오류 LNK1120 : 내가 추가 한

포함 16 개 확인할 수없는 외부 및 라이브러리 경로도 내 런타임 라이브러리가 MD 내가 가지고 외부 종속성에 ssleay32MD.lib libeay32MD.lib를 추가했습니다.

도와주세요.

+1

혹시 이것을 알아 냈습니까? OpenSSL 라이브러리를 컴파일 할 때 올바른 Visual Studio SDK와 올바른 플랫폼으로 컴파일해야합니다. 그런 다음 링커 -> 입력 -> 추가 종속성에 있는지 확인하십시오. – CaptainBli

답변

0

디버그 라이브러리는 ssleay32MDd.liblibeay32MDd.lib ("d"접미사에 유의하십시오)이라고 생각합니다.

+0

감사합니다. Fraser, 나는 모든 가능한 조합으로 놀랐지 만 여전히 동일한 오류가 발생합니다! – rsule

1

비슷한 문제가있어서 해결했습니다. 올바른 라이브러리를 사용하고 있는지 확인해보십시오. x64 라이브러리를 사용하고 있고 32 비트로 컴파일하면 동일한 오류가 발생합니다. 해피 코딩