centos7 编译miracl_linux 下大数库 miracl 的使用方法,求高手指教

你的位置:

问答吧

-> C/C++

-> 问题详情

linux 下大数库 miracl 的使用方法,求高手指教

现在要做的东西,需要用到 miracl 大数库,在linux 环境中, 我也已经编译好了 miracl.a ,但在使用时总出现些错误

C/C++ code

C/C++ code

//MAKEFILE 文件 如下#source file

SOURCE :=$(wildcard*.c) $(wildcard*.cpp)

OBJS :=$(patsubst%.c,%.o,$(patsubst%.cpp,%.o,$(SOURCE)))

#target you can change test to what you want

TARGET :=../bin/TEST

#compile and lib parameter

CC :=g++LIBS :=miracl.a

LDFLAGS :=DEFINES :=INCLUDE :=-I../miracl/include

CFLAGS :=-g-Wall-O2 $(DEFINES) $(INCLUDE)

CXXFLAGS:=$(CFLAGS)

#i think you shoulddoanything here

.PHONY : everything objs clean veryclean rebuild

everything : $(TARGET)

all : $(TARGET)

objs : $(OBJS)

rebuild: veryclean everything

clean :

rm-fr*.so

rm-fr*.o

rm-fr $(TARGET)

$(TARGET) : $(OBJS)

$(CC) $(CXXFLAGS)-o $@ $(OBJS) $(LDFLAGS) $(LIBS)

用的时候就

#include "miracl.h"

#include "mirdef.h"

然后在一些地方使用 miracl *mip=mirsys(100,0); 等等.....

这样就出错,错误如下:

CryptRegInfo.cpp:76: undefined reference to `mirsys'

CryptRegInfo.cpp:99: undefined reference to `mirvar'

CryptRegInfo.cpp:100: undefined reference to `mirvar'

CryptRegInfo.cpp:101: undefined reference to `mirvar'

CryptRegInfo.cpp:102: undefined reference to `mirvar'

CryptRegInfo.cpp:105: undefined reference to `cinstr'

.........

在linux 下开发时间少,有些东西也不是很清楚

或者谁能给我个 linux 下使用 miracl 库的例子也可以,不甚感激

作者: jspkiss

发布时间: 2011-02-12

我没有使用过miracl库,但是你遇到的是编译问题,所以与miracl.a没有关系(miracl.a需要在链接时用)

你现在需要确定在头文件

#include "miracl.h"

#include "mirdef.h"

中是否包含mirsys、mirvar的定义,你需要看看是否有某些条件编译的选项是否没有打开。

作者: shootingstars

发布时间: 2011-02-12

从提示信息看,还是链接的时候缺少一些函数的实现。

但你的MAKEFILE又加了了这句LIBS :=miracl.a,

你可以检查看是否没添加成功,或者本身你编译miracl的时候就没有编译

这些你用到的函数。

作者: bluesky12312388

发布时间: 2011-02-12

楼上的bluesky12312388,这个不是链接错误,是编译错误。。。

作者: shootingstars

发布时间: 2011-02-12

嗯,是编译错误, 那个 miracl.a 是刚编译好的, 然后再

CC := g++

LIBS :=miracl.a

LDFLAGS :=

DEFINES :=

INCLUDE := -I../miracl/include

CFLAGS := -g -Wall -O2 $(DEFINES) $(INCLUDE)

在miracl.h 中都有那些函数的 方法定义extern, 在windows 上面只需要 miracl.h 和 mirdef.h 这两个头文件再加库就可以运行, linux 上面 不知道是不是也只需要 这两个头文件和miracl.a 库文件,我的程序中只 用到几个miracl函数

作者: jspkiss

发布时间: 2011-02-12

分别这样试试

CC := g++ -m32

如果不行再这样试试

CC := g++ -m64

作者: justkk

发布时间: 2011-02-12

引用 4 楼 jspkiss 的回复:

嗯,是编译错误, 那个 miracl.a 是刚编译好的, 然后再

CC := g++

LIBS :=miracl.a

LDFLAGS :=

DEFINES :=

INCLUDE := -I../miracl/include

CFLAGS := -g -Wall -O2 $(DEFINES) $(INCLUDE)

在miracl.h……

照你说的可行,我们也在做类似的东西,没发现你这样的错误

作者: bluesky12312388

发布时间: 2011-02-12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值