Компиляция и компоновка OpenSSL в Ubuntu против OSX

Попытка 1, Ванильная ссылка на LibraryI '

Я пытаюсь использовать исправленную версию OpenSSL (чтобы DTLS было проще в использовании). OpenSSL находится в

/usr/local/openssl-1.0.1c

В подпапке ./include/openssl есть множество заголовочных файлов (как я полагаю, это должно быть):

lrwxrwxrwx 1 root root   22 Dec 25 05:49 aes.h -> ../../crypto/aes/aes.h
lrwxrwxrwx 1 root root   24 Dec 25 05:49 asn1.h -> ../../crypto/asn1/asn1.h
lrwxrwxrwx 1 root root   28 Dec 25 05:49 asn1_mac.h -> ../../crypto/asn1/asn1_mac.h
...

GCC ссылается на папку include и выдает ошибку - он не может найти SSL. Я'м, используя более или менеето же самое, что другие люди, Это работает на OSX (10.6), но не на Ubuntu:

~$ gcc -L/usr/local/openssl-1.0.1c/include -lssl -lcrypto  -o server server.c
server.c:20:25: fatal error: openssl/ssl.h: No such file or directory
compilation terminated.

Попытка 2, символическая ссылка на библиотеку в / usr / include

Итак, я пытаюсь создать символическую ссылку на OpenSSL в моем / usr / include:

sudo ln -s /usr/local/openssl-1.0.1c/include/openssl /usr/include/openssl

и повторная попытка компиляции:

~$ gcc -L/usr/local/openssl-1.0.1c/include -lssl -lcrypto  -o server server.c
/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto
collect2: ld returned 1 exit status
make: *** [server] Error 1

Почему первый метод (т.е. без символической ссылки) не работает? Права доступа? Почему второй метод не работает? Почему это работает на OSX ???

Ответы на вопрос(2)

Ваш ответ на вопрос