Openssl版本与使用问题

wyjq395 2010-12-28 10:54:32
openssl版本怎么回事,例如:
openssl-0.9.8k
openssl-0.9.8p
openssl-0.9.8i
我现在编译OpenCapwap软件,使用Openwrt的SDK。
但是OpenCapwap里面用到的openssl是openssl-0.9.8k
而Openwrt里面用到的openssl是openssl-0.9.8p
它们的include目录下的头文件数量不一样。
交叉编译的时候.o文件都生成了,连接出现错误。


1.这些版本有什么区别啊?
2.有什么办法去交叉编译通过呢?
...全文
435 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyjq395 2010-12-29
  • 打赏
  • 举报
回复
makefile的内容如下:
KAMIKAZEDIR=/home/yang/openwrt_sdk/SDK

CC = $(KAMIKAZEDIR)/staging_dir_mipsel/bin/mipsel-linux-gcc

LDFLAGS = ./lib/libssl.a ./lib/libcrypto.a $(KAMIKAZEDIR)/staging_dir_mipsel/lib/libpthread.a $(KAMIKAZEDIR)/staging_dir_mipsel/lib/libdl.a $(KAMIKAZEDIR)/staging_dir_mipsel/usr/lib/libpcap.a -D_REENTRANT

CFLAGS = -Wall -g -O0 -D_REENTRANT -DBCM -I $(KAMIKAZEDIR)/staging_dir_mipsel/usr/include #-DCW_NO_DTLS

# Memory leak
#LDFLAGS += ../dmalloc-5.5.0/libdmallocth.a
#CFLAGS += -DDMALLOC

# Capwap Debugging
CFLAGS += -DCW_DEBUGGING

RM = /bin/rm -f

# list of generated object files for WTP.
WTP_OBJS = WTP.o WTPBcmFrameReceive.o WTPConfigFile.o WTPProtocol.o WTPProtocol_User.o WTPDiscoveryState.o WTPJoinState.o WTPConfigureState.o WTPDataCheckState.o WTPRunState.o WTPRunStateCheck.o WTPRetransmission.o WTPSulkingState.o CWCommon.o CWConfigFile.o CWErrorHandling.o CWSafeList.o CWList.o CWLog.o CWNetwork.o CWProtocol.o CWRandom.o CWSecurity.o CWOpenSSLBio.o CWStevens.o CWThread.o CWBinding.o WTPBinding.o WTPBcmDriverInteraction.o WTPSettingsFile.o timerlib.o

WTP_SRCS = $(WTP_OBJS:.o=.c)

WTP_DEPS := $(WTP_OBJS:.o=.d)

# program executables.
WTP_NAME = WTP

.PHONY: deps clean clean_libs libs

# top-level rule, to compile everything.
all: $(WTP_NAME)

$(WTP_NAME): $(WTP_OBJS)
$(CC) -DWRITE_STD_OUTPUT $(WTP_OBJS) $(CC_FLAGS) $(LDFLAGS) -o $(WTP_NAME)

clean:
$(RM) $(WTP_NAME) $(WTP_OBJS) $(WTP_DEPS)

clean_deps:
$(WTP_DEPS)

deps: $(WTP_SRC)
$(CC) -MD -E -DWRITE_STD_OUTPUT $(WTP_SRCS) $(CFLAGS) >/dev/null

-include $(WTP_DEPS)
wyjq395 2010-12-29
  • 打赏
  • 举报
回复
我现在编译出现下面错误:
/home/yang/openwrt_sdk/SDK/staging_dir_mipsel/bin/mipsel-linux-gcc -DWRITE_STD_OUTPUT WTP.o WTPBcmFrameReceive.o WTPConfigFile.o WTPProtocol.o WTPProtocol_User.o WTPDiscoveryState.o WTPJoinState.o WTPConfigureState.o WTPDataCheckState.o WTPRunState.o WTPRunStateCheck.o WTPRetransmission.o WTPSulkingState.o CWCommon.o CWConfigFile.o CWErrorHandling.o CWSafeList.o CWList.o CWLog.o CWNetwork.o CWProtocol.o CWRandom.o CWSecurity.o CWOpenSSLBio.o CWStevens.o CWThread.o CWBinding.o WTPBinding.o WTPBcmDriverInteraction.o WTPSettingsFile.o timerlib.o ./lib/libssl.a ./lib/libcrypto.a /home/yang/openwrt_sdk/SDK/staging_dir_mipsel/lib/libpthread.a /home/yang/openwrt_sdk/SDK/staging_dir_mipsel/lib/libdl.a /home/yang/openwrt_sdk/SDK/staging_dir_mipsel/usr/lib/libpcap.a -D_REENTRANT -o WTP
WTP.o: In function `main':
/home/yang/openwrt_sdk/capwap-0.93.3/WTP.c:410: undefined reference to `CWWTPReceiveStats'
/home/yang/openwrt_sdk/capwap-0.93.3/WTP.c:422: undefined reference to `CWWTPReceiveFreqStats'
WTPRunState.o: In function `CWParseVendorMessage':
/home/yang/openwrt_sdk/capwap-0.93.3/WTPRunState.c:1055: undefined reference to `CWParseVendorPayload'
WTPRunState.o: In function `CWSaveVendorMessage':
/home/yang/openwrt_sdk/capwap-0.93.3/WTPRunState.c:1275: undefined reference to `CWWTPSaveUCIValues'
/home/yang/openwrt_sdk/capwap-0.93.3/WTPRunState.c:1285: undefined reference to `CWWTPSaveWUMValues'
collect2: ld returned 1 exit status
make: *** [WTP] Error 1


是不是ld不对啊,我直接使用SDK
没有设置什么ld的路径

现在我想用SDK目录下的mipsel-linux-ld怎么用呢?
【版权声明】
openssl的VC软件包由王志海(DragonKing)根据openssl整理提供,Eric Young's拥有对所有源代码的最终版权,一切应用应该遵照openssl的声明。该版本openssl-0.9.6h
欢迎联系本人或提意见:
Email:wzhah@263.net
HomePage: http://gdwzh.126.com[openssl中文专业论坛,提供大量中文资料]
【功能说明】
本软件包将每个openssl的apps程序做成一个可直接运行调试的VC Console 类型应用程序,方便研究和运用openssl的朋友,避免了openssl在windows下的编译问题,并且因为可以在VC环境下进行调试,使得对openssl的各个应用程序的流程更容易理解,这对openssl初学者尤其方便。希望大家多提意见。
使用说明】
要正确使用该工程文件,呢应该从http://gdwzh.126.com获取如下目录和文件:
1.Windows平台下openssl动态库,包含两个dll文件,将他们拷贝到Windows/system32目录下;
2.Windows平台下openssl静态库,下载解压后得到一个名为lib的文件夹,包含两个lib文件;
3.openssl的头文件,下载解压后得到一个名为include的录。
4.Windows平台rsa项目文件,下载解压后得到一个名为rsa的目录,里面包含了项目主文件;
5.将目录lib、include、和rsa拷贝到同一个目录下;
6.完成上述步骤,就可以像普通的VC项目一样进行调试编译了,有任何问题,请到http://openssl.126.com提问。
【注意】
1.获取最新信息请到http://gdwzh.126.com的openssl专业论坛.
2.编译好的运用程序有可能需要其它的openssl文件支持,如openssl.cnf等,请参照openssl相关文档或本站信息公布。

679

社区成员

发帖
与我相关
我的任务
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linuxpython 技术论坛(原bbs)
社区管理员
  • 智能路由器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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