首页
社区
课程
招聘
[讨论]gcc编译调用openssl的问题
发表于: 2010-3-18 22:05 8781

[讨论]gcc编译调用openssl的问题

2010-3-18 22:05
8781
分享一些经验,google了个遍还是没有解决。
     操作系统ubuntu 8.04版本,gcc 4.4.1,openssl 0.9.8g
这是安装完系统默认安装完毕的环境。编译写好的调用openssl函数的c源码,例如
#include <openssl/rsa.h>等等,进入命令行,编译参数为:
   gcc -o test test.c -lcrypto -lm. 这些命令在ubuntu7.04或者redhat的环境下都编译通过,执行一切都很顺利,但是此时竟然提示没有找到rsa.h的路径,当然里面调用的函数都出错了!
   不知道是和环境的问题,还是调用参数的问题,大家提供点思路,我已经尝试了好长时间了,甚至重装系统以及openssl。

    -lm是因为调用了数学库。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 67
活跃值: (30)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
环境变量问题
2010-3-18 23:21
0
雪    币: 21
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ubuntu下环境变量怎么设呢?别的版本也不用设啊,为何?谢谢!
2010-3-19 14:15
0
雪    币:
能力值: (RANK: )
在线值:
发帖
回帖
粉丝
4
具体是什么错? 编译错还是链接错?
BTW: OpenSSL对应的库是libssl, 不是libcrypto.
2010-3-22 21:15
0
雪    币: 21
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
编译就没有通过。提示没有找到openssl下引用的头文件。
我在其他版本环境下,就用-lcrypto这个参数就可以了。
2010-3-22 22:11
0
雪    币: 5
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
奥,我也遇到了这个问题,弄了半天,终于能编译了。
Makefile如下

test: test.c
        gcc -c test.c -I/home/XXXXX/include test.c    #XXXXX/include里面放的是openssl这个文件夹,包含头文件
      gcc -o test -L/home/XXXXX/include test.o libcrypto.a
,试试行不?我的是Ubuntu9.10。
2010-4-28 09:52
0
游客
登录 | 注册 方可回帖
返回
//