急急急!linux中C语言编译出现的问题?快要答辩了,一直没运行成功,大家帮帮忙!

lujj2010 2013-05-09 06:34:34
小弟正在使用openssl,并编写了下面代码.使用 gcc -Wall -o ssl_client ssl_client 编译报下面的错误,应该是没有找到库文件...我按网上的一些解决办法,用gcc -L/usr/local/ssl/bin -lcrypto -lssl ssl_client.c -o client 编译也不成功,真的不知道该怎么办了,快要交论文了,还没有运行出结构,希望大家帮帮忙?感激不尽!!!
请问那位大哥知道啊?

/tmp/ccEWKYFS.o: In function `ShowCerts':
ssl_client.c:(.text+0xd): undefined reference to `SSL_get_peer_certificate'
ssl_client.c:(.text+0x31): undefined reference to `X509_get_subject_name'
ssl_client.c:(.text+0x49): undefined reference to `X509_NAME_oneline'
ssl_client.c:(.text+0x75): undefined reference to `X509_get_issuer_name'
ssl_client.c:(.text+0x8d): undefined reference to `X509_NAME_oneline'
ssl_client.c:(.text+0xb9): undefined reference to `X509_free'
/tmp/ccEWKYFS.o: In function `main':
ssl_client.c:(.text+0x12c): undefined reference to `SSL_library_init'
ssl_client.c:(.text+0x131): undefined reference to `OPENSSL_add_all_algorithms_noconf'
ssl_client.c:(.text+0x136): undefined reference to `SSL_load_error_strings'
ssl_client.c:(.text+0x13b): undefined reference to `SSLv23_client_method'
ssl_client.c:(.text+0x143): undefined reference to `SSL_CTX_new'
ssl_client.c:(.text+0x15f): undefined reference to `ERR_print_errors_fp'
ssl_client.c:(.text+0x29d): undefined reference to `SSL_new'
ssl_client.c:(.text+0x2bb): undefined reference to `SSL_set_fd'
ssl_client.c:(.text+0x2c9): undefined reference to `SSL_connect'
ssl_client.c:(.text+0x2db): undefined reference to `ERR_print_errors_fp'
ssl_client.c:(.text+0x2eb): undefined reference to `SSL_get_current_cipher'
ssl_client.c:(.text+0x2f3): undefined reference to `SSL_CIPHER_get_name'
ssl_client.c:(.text+0x359): undefined reference to `SSL_write'
ssl_client.c:(.text+0x3f6): undefined reference to `SSL_read'
ssl_client.c:(.text+0x461): undefined reference to `SSL_shutdown'
ssl_client.c:(.text+0x46f): undefined reference to `SSL_free'
ssl_client.c:(.text+0x48b): undefined reference to `SSL_CTX_free
...全文
892 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fdxfdx123 2013-05-10
  • 打赏
  • 举报
回复
要把相关的库连接进来
承诺别再提 2013-05-10
  • 打赏
  • 举报
回复
引用 7 楼 nadleeh123 的回复:
[quote=引用 楼主 lujj2010 的回复:] 小弟正在使用openssl,并编写了下面代码.使用 gcc -Wall -o ssl_client ssl_client 编译报下面的错误,应该是没有找到库文件...我按网上的一些解决办法,用gcc -L/usr/local/ssl/bin -lcrypto -lssl ssl_client.c -o client 编译也不成功,真的不知道该怎么办了,快要交论文了,还没有运行出结构,希望大家帮帮忙?感激不尽!!! 请问那位大哥知道啊? /tmp/ccEWKYFS.o: In function `ShowCerts': ssl_client.c:(.text+0xd): undefined reference to `SSL_get_peer_certificate' ssl_client.c:(.text+0x31): undefined reference to `X509_get_subject_name' ssl_client.c:(.text+0x49): undefined reference to `X509_NAME_oneline' ssl_client.c:(.text+0x75): undefined reference to `X509_get_issuer_name' ssl_client.c:(.text+0x8d): undefined reference to `X509_NAME_oneline' ssl_client.c:(.text+0xb9): undefined reference to `X509_free' /tmp/ccEWKYFS.o: In function `main': ssl_client.c:(.text+0x12c): undefined reference to `SSL_library_init' ssl_client.c:(.text+0x131): undefined reference to `OPENSSL_add_all_algorithms_noconf' ssl_client.c:(.text+0x136): undefined reference to `SSL_load_error_strings' ssl_client.c:(.text+0x13b): undefined reference to `SSLv23_client_method' ssl_client.c:(.text+0x143): undefined reference to `SSL_CTX_new' ssl_client.c:(.text+0x15f): undefined reference to `ERR_print_errors_fp' ssl_client.c:(.text+0x29d): undefined reference to `SSL_new' ssl_client.c:(.text+0x2bb): undefined reference to `SSL_set_fd' ssl_client.c:(.text+0x2c9): undefined reference to `SSL_connect' ssl_client.c:(.text+0x2db): undefined reference to `ERR_print_errors_fp' ssl_client.c:(.text+0x2eb): undefined reference to `SSL_get_current_cipher' ssl_client.c:(.text+0x2f3): undefined reference to `SSL_CIPHER_get_name' ssl_client.c:(.text+0x359): undefined reference to `SSL_write' ssl_client.c:(.text+0x3f6): undefined reference to `SSL_read' ssl_client.c:(.text+0x461): undefined reference to `SSL_shutdown' ssl_client.c:(.text+0x46f): undefined reference to `SSL_free' ssl_client.c:(.text+0x48b): undefined reference to `SSL_CTX_free
openssl 你装了吗? 还有的命令你确定正确? 调用动态库,你导入当前环境变量了吗?? 用export LD_LIBRARY
nadleeh 2013-05-10
  • 打赏
  • 举报
回复
引用 楼主 lujj2010 的回复:
小弟正在使用openssl,并编写了下面代码.使用 gcc -Wall -o ssl_client ssl_client 编译报下面的错误,应该是没有找到库文件...我按网上的一些解决办法,用gcc -L/usr/local/ssl/bin -lcrypto -lssl ssl_client.c -o client 编译也不成功,真的不知道该怎么办了,快要交论文了,还没有运行出结构,希望大家帮帮忙?感激不尽!!! 请问那位大哥知道啊? /tmp/ccEWKYFS.o: In function `ShowCerts': ssl_client.c:(.text+0xd): undefined reference to `SSL_get_peer_certificate' ssl_client.c:(.text+0x31): undefined reference to `X509_get_subject_name' ssl_client.c:(.text+0x49): undefined reference to `X509_NAME_oneline' ssl_client.c:(.text+0x75): undefined reference to `X509_get_issuer_name' ssl_client.c:(.text+0x8d): undefined reference to `X509_NAME_oneline' ssl_client.c:(.text+0xb9): undefined reference to `X509_free' /tmp/ccEWKYFS.o: In function `main': ssl_client.c:(.text+0x12c): undefined reference to `SSL_library_init' ssl_client.c:(.text+0x131): undefined reference to `OPENSSL_add_all_algorithms_noconf' ssl_client.c:(.text+0x136): undefined reference to `SSL_load_error_strings' ssl_client.c:(.text+0x13b): undefined reference to `SSLv23_client_method' ssl_client.c:(.text+0x143): undefined reference to `SSL_CTX_new' ssl_client.c:(.text+0x15f): undefined reference to `ERR_print_errors_fp' ssl_client.c:(.text+0x29d): undefined reference to `SSL_new' ssl_client.c:(.text+0x2bb): undefined reference to `SSL_set_fd' ssl_client.c:(.text+0x2c9): undefined reference to `SSL_connect' ssl_client.c:(.text+0x2db): undefined reference to `ERR_print_errors_fp' ssl_client.c:(.text+0x2eb): undefined reference to `SSL_get_current_cipher' ssl_client.c:(.text+0x2f3): undefined reference to `SSL_CIPHER_get_name' ssl_client.c:(.text+0x359): undefined reference to `SSL_write' ssl_client.c:(.text+0x3f6): undefined reference to `SSL_read' ssl_client.c:(.text+0x461): undefined reference to `SSL_shutdown' ssl_client.c:(.text+0x46f): undefined reference to `SSL_free' ssl_client.c:(.text+0x48b): undefined reference to `SSL_CTX_free
openssl 你装了吗? 还有的命令你确定正确?
ForestDB 2013-05-09
  • 打赏
  • 举报
回复
gcc -L/usr/local/ssl/bin -lcrypto -lssl ssl_client.c -o client 确定-L路径下有-l指明的库。
lujj2010 2013-05-09
  • 打赏
  • 举报
回复
3楼,那个lib怎么加?是编译时gcc -L/usr/local/ssl/lib -lcrypto -lssl ssl_client.c -o client吗?我这样编译了,还是出现上面的错误,我实在没办法了!
自信男孩 2013-05-09
  • 打赏
  • 举报
回复
应该是有关SSL的库没有加载上去造成的。
lu188887 2013-05-09
  • 打赏
  • 举报
回复
依赖的外部函数没有导入,要加上lib和lib的路径。
lujj2010 2013-05-09
  • 打赏
  • 举报
回复
源代码里面已经有这个了#include <openssl/ssl.h>
逆袭高富帅 2013-05-09
  • 打赏
  • 举报
回复
加上 #include <openssl/ssl.h> 再试试

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧