首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zkcm-库找不到mpfr库

zkcm-库找不到mpfr库
EN

Stack Overflow用户
提问于 2015-01-14 16:58:39
回答 1查看 552关注 0票数 1

我刚刚在我的kubuntu机器上安装了zkcm库,我在编译c++代码时遇到了困难。

我已经安装了gmpmpfr库,并检查它们是否工作;代码

代码语言:javascript
复制
mpfr_t m1, m2, m3; 
mpfr_init(m1); mpfr_init(m2); mpfr_init(m3); 
mpfr_mul(m1, m2, m3, MPFR_RNDN);

编译并运行。

然后,我尝试使用zkcm;我尝试编写行

代码语言:javascript
复制
zkcm_matrix m;

并得到一堆关于zkcm找不到mpfr的错误;下面是输出的开头:

代码语言:javascript
复制
/usr/local/lib/libzkcm.a(zkcm_c.o): In function `zkcm_init_ri(zkcm*, double, double)':
/home/jorgen/Downloads/zkcm_lib-0.4.0/srcs/zkcm_c.c:126: undefined reference to `mpfr_inits'
/home/jorgen/Downloads/zkcm_lib-0.4.0/srcs/zkcm_c.c:127: undefined reference to `mpfr_set_d'
/usr/local/lib/libzkcm.a(zkcm_c.o): In function `zkcm_init_ri_str(zkcm*, char const*, char const*)':
/home/jorgen/Downloads/zkcm_lib-0.4.0/srcs/zkcm_c.c:132: undefined reference to `mpfr_inits'
/home/jorgen/Downloads/zkcm_lib-0.4.0/srcs/zkcm_c.c:136: undefined reference to `mpfr_set_str'
/home/jorgen/Downloads/zkcm_lib-0.4.0/srcs/zkcm_c.c:134: undefined reference to `mpfr_set_ui'

我试着遵循zkcm的指示,我有台词

代码语言:javascript
复制
#include "mpfr.h"
#include "zkcm.hpp"

并使用以下方法编译代码(称为test.cpp)

代码语言:javascript
复制
g++ test.cpp -msse2 -std=c++11 -O2 -lm -lmpfr -lgmp -lgmpxx -lzkcm -o test

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 09:23:44

库顺序是不正确的:根据错误消息,zkcm使用MPFR,因此-lzkcm应该放在-lmpfr之前(这本身应该放在-lgmp之前,因为MPFR使用-lgmp)。

否则会发生以下情况:如果链接器创建了test.cpp (或某些依赖项)未使用的MPFR符号,它将删除它。如果zkcm使用这样的符号,这将产生一个错误,因为-lzkcm稍后会出现在命令行中。这也解释了为什么您可能会得到一些MPFR符号而不是其他符号的错误(当test.cpp代码和zkcm代码更改时,错误可能会出现并消失)。

这应该足以解决这里的问题。但是,看看对“链接者命令- GCC”的回答获得更多的一般规则(这个答案还涉及循环依赖关系)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27948383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档