소스 (의도적으로 구 버전 인 ./config && make && make test
으로 작성)에서 OpenSSL을 빌드했으며 내 프로그램과 링크하려면 make install
을 수행하지 않고 빌드 한 것을 사용하는 것이 좋습니다. 실패한 것OpenSSL 라이브러리를 프로그램에 연결
명령은 다음과 같습니다
gcc -Wall -Wextra -Werror -static -Lopenssl/openssl-0.9.8k/ -lssl -lcrypto
-Iopenssl/openssl-0.9.8k/include -o myApp source1.o source2.o common.o`
그리고 유사한 오류 일련가 나타납니다
common.c:(.text+0x1ea): undefined reference to `SSL_write'
이 내 OpenSSL을 펑키 뭔가가 있다고 생각하게합니다.
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
내가 잘못 OpenSSL을 컴파일하고 있습니까 : 내 명령에서 -Lopenssl/openssl-0.9.8k/
를 생략하면 오류가없는 존재로 변경? 아니면이 문제를 어떻게 해결해야합니까?
마지막에 있어야하는'-lssl -lcrypto '입니다. 링커에서 라이브러리를 검색하면 이미 정의되지 않은 참조가있는 함수 만 링크됩니다. 따라서 링크 라인의 시작 부분에 "소비하는"객체를 놓고 끝에있는 객체를 "공급"해야합니다. – caf
나는 내 자신의 대답을 받아들이는 것이 항상 이상하다. 나는 그것을 지금 바꿀 것이다. – mrduclaw
clan llvm의 차이점은 무엇입니까? – saruftw