繁体   English   中英

具有OpenSSL的Web服务器

[英]Web server with OpenSSL

我正在尝试编译Web服务器,但是发生了以下类似情况:

gcc -o webserv.o webserv.c -c -ansi -pedantic -Wall -lssl -lcrypto
webserv.c: In function ‘main’:
webserv.c:33: warning: ‘OPENSSL_add_all_algorithms_noconf’ is deprecated (declared at /usr/include/openssl/evp.h:828)
webserv.c:34: warning: ‘SSL_load_error_strings’ is deprecated (declared at /usr/include/openssl/ssl.h:1416)
webserv.c:36: warning: ‘TLSv1_server_method’ is deprecated (declared at /usr/include/openssl/ssl.h:1520)
webserv.c:38: warning: ‘SSL_CTX_new’ is deprecated (declared at /usr/include/openssl/ssl.h:1346)
webserv.c:40: warning: ‘ERR_print_errors_fp’ is deprecated (declared at /usr/include/openssl/err.h:287)
webserv.c:44: warning: ‘SSL_CTX_use_certificate_file’ is deprecated (declared at /usr/include/openssl/ssl.h:1402)
webserv.c:45: warning: ‘SSL_CTX_use_PrivateKey_file’ is deprecated (declared at /usr/include/openssl/ssl.h:1401)
webserv.c:47: warning: ‘SSL_CTX_check_private_key’ is deprecated (declared at /usr/include/openssl/ssl.h:1475)
webserv.c:92: warning: ‘SSL_new’ is deprecated (declared at /usr/include/openssl/ssl.h:1481)
webserv.c:94: warning: ‘ERR_print_errors_fp’ is deprecated (declared at /usr/include/openssl/err.h:287)
webserv.c:98: warning: ‘SSL_set_fd’ is deprecated (declared at /usr/include/openssl/ssl.h:1370)
webserv.c:100: warning: ‘SSL_accept’ is deprecated (declared at /usr/include/openssl/ssl.h:1491)
webserv.c:102: warning: ‘ERR_print_errors_fp’ is deprecated (declared at /usr/include/openssl/err.h:287)
webserv.c:106: warning: ‘SSL_get_version’ is deprecated (declared at /usr/include/openssl/ssl.h:1502)
webserv.c:106: warning: ‘SSL_CIPHER_get_name’ is deprecated (declared at /usr/include/openssl/ssl.h:1360)
webserv.c:106: warning: ‘SSL_get_current_cipher’ is deprecated (declared at /usr/include/openssl/ssl.h:1357)
webserv.c:114: warning: ‘SSL_shutdown’ is deprecated (declared at /usr/include/openssl/ssl.h:1532)
webserv.c:116: warning: ‘SSL_free’ is deprecated (declared at /usr/include/openssl/ssl.h:1490)
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o helper.o helper.c -c -ansi -pedantic -Wall -lssl -lcrypto
helper.c: In function ‘Readline’:
helper.c:32: warning: ‘SSL_read’ is deprecated (declared at /usr/include/openssl/ssl.h:1493)
helper.c: In function ‘Writeline’:
helper.c:68: warning: ‘SSL_write’ is deprecated (declared at /usr/include/openssl/ssl.h:1495)
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o servreq.o servreq.c -c -ansi -pedantic -Wall -lssl -lcrypto
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o reqhead.o reqhead.c -c -ansi -pedantic -Wall -lssl -lcrypto
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o resphead.o resphead.c -c -ansi -pedantic -Wall -lssl -lcrypto
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o resource.o resource.c -c -ansi -pedantic -Wall -lssl -lcrypto
i686-apple-darwin11-llvm-gcc-4.2: -lssl: linker input file unused because linking not done
i686-apple-darwin11-llvm-gcc-4.2: -lcrypto: linker input file unused because linking not done
gcc -o webserv webserv.o helper.o servreq.o reqhead.o resphead.o resource.o -Wall -lssl -lcrypto
Undefined symbols for architecture x86_64:
  "_server_ssl", referenced from:
      _Readline in helper.o
      _Writeline in helper.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

有人知道这是怎么回事吗?

在我看来,您的编译器已设置为中止警告链接,并且编译阶段在代码中生成了数十个“弃用”警告。 因此,更改编译器标志或更新不赞成使用的调用似乎是您的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM