2011-02-13 2 views
4
#include <openssl/dh.h> 
#include <openssl/bn.h> 

오류 : 열 수 없습니다 소스 파일 "OpenSSL을/bn.h"할 수는없는 오픈 소스 파일 "OpenSSL을/dh.h"??? 잘못된 점열 수 없습니다 소스 파일 "OpenSSL을/bn.h"

+0

더 많은 컨텍스트가 실제로 도움이 될 것입니다. – Shinnok

+0

그래서 실제로 그 이름으로 지정된 경로에 파일이 있습니까? –

답변

0

파일이 누락되었거나 포함 경로를 올바르게 설정하지 않았습니다.

+1

이것은 거의 쓸모없는 대답이다 – Avio

3
  1. 시스템에 libssl이 설치되어 있는지 확인하십시오. 당신이 리눅스를 사용 명령에있는 경우가 설치되어있는 경우

    $ 얌 목록의 libssl

  2. . include 디렉토리에 경로를 지정했는지 확인하십시오. 당신은 GCC를 사용하는 경우에는이 경로를 포함 누락 아마,

+0

+1 정답 – Avio

2

당신을

-I/path_of_libssl 폴더를 사용하여 디렉토리에서 검색하는 GCC를 알 수 있습니다. Visual Studio를 사용하는 경우 Tools-> Options-> Projects and Solutions-> C++ Directories로 이동하여 드롭 다운 목록의 "include file"옵션을 선택하고 openssl include 폴더의 경로를 추가해야합니다. 그냥 openssl 폴더를 소스 폴더에 복사하고 "openssl/bn.h"로 바꿀 수 있습니다.

1

문제는 컴파일러가 bn.h 헤더 파일을 찾을 수 없다는 것입니다. 그 이유는 포함 경로에 문제가 있다는 것입니다.

헤더 파일을 설치하지 않았을 수도 있습니다. 시스템에 따라 libssl-dev와 같은 패키지를 설치해야합니다. 이 패키지에는 헤더 파일이 들어 있습니다. libssl 패키지는 공유 객체 파일 (.so로 끝남) 만 포함하며, 이는 링킹 프로세스에 필요하며 컴파일 프로세스에는 필요하지 않습니다. libssl-dev를 설치하면 문제가 해결되고 나중에 링커 문제가 발생하면 libssl도 설치해야합니다.

관련 문제