Vinculación de bibliotecas OpenSSL a un programa
He creado OpenSSL desde el código fuente (una versión intencionalmente antigua; construida con./config && make && make test
) y preferiría usar lo que he construido sin hacermake install
para vincular contra mi programa.
El comando que falla es:
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`
Y recibo una serie de errores similares a:
common.c:(.text+0x1ea): undefined reference to `SSL_write'
Esto me hace pensar que hay algo raro con mi OpenSSL. Si omito-Lopenssl/openssl-0.9.8k/
desde mi comando, el error cambia a no poder:
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
¿Estoy compilando OpenSSL incorrectamente? ¿O cómo debería resolver esto mejor?