提示

MFCompressD.o:在函数‘main’中:
MFCompressD.c:(.text.startup+0x34a): 警告: the use of `tempnam' is dangerous, better use `mkstemp'
MFCompressD.o:在函数‘DecodeSeqBlock’中:
MFCompressD.c:(.text+0x149):对‘GetInfoPModelIdx’未定义的引用
MFCompressD.c:(.text+0x20c):对‘GetPModelIdx4’未定义的引用
MFCompressD.c:(.text+0x335):对‘GetPModelIdx4’未定义的引用
MFCompressD.c:(.text+0x366):对‘GetPModelIdxAux4’未定义的引用
MFCompressD.c:(.text+0x3dc):对‘GetPModelIdxAux4’未定义的引用
MFCompressD.c:(.text+0x461):对‘GetInfoPModelIdx’未定义的引用
MFCompressD.c:(.text+0x561):对‘GetPModelIdx2’未定义的引用

解决方法 重新编译

gcc -c -O2 -Wall -D_FILE_OFFSET_BITS=64 -o fcm.o fcm.c -fgnu89-inline

为何这样?

gcc -c -O2 -Wall -D_FILE_OFFSET_BITS=64 -o MFCompressD.o MFCompressD.c

出警告
In file included from MFCompressD.c:40:0:
fcm.h:164:13: warning: inline function ‘GetInfoPModelIdx’ declared but never defined
inline void GetInfoPModelIdx(Symbol *symbolPtr, CModel *cModel);
^~~~~~~~~~~~~~~~
fcm.h:162:13: warning: inline function ‘GetPModelIdxAux4’ declared but never defined
inline void GetPModelIdxAux4(Symbol *symbolPtr, CModel *cModel,
^~~~~~~~~~~~~~~~
fcm.h:160:13: warning: inline function ‘GetPModelIdx4’ declared but never defined
inline void GetPModelIdx4(Symbol *symbolPtr, CModel *cModel,
^~~~~~~~~~~~~
fcm.h:159:13: warning: inline function ‘GetPModelIdx2’ declared but never defined
inline void GetPModelIdx2(Symbol *symbolPtr, CModel *cModel);

gcc编译时遇到“inline function '***' declared but never defined"问题

在编译时添加选项 “-fgnu89-inline”,重新编译即可。

注意不是在“make”后面添加“-fgnu89-inline”,是在Makefile里在使用gcc编译的地方添加“-fgnu89-inline”。

最后

gcc -o main MFCompressD.o mem.o fasta.o fcm.o io.o bitio.o arith.o arith_aux.o -lm

MFCompressD.o:在函数‘main’中:
MFCompressD.c:(.text.startup+0x34a): 警告: the use of `tempnam' is dangerous, better use `mkstemp'

运行 结果

*@*:~/下载/压缩/MFCompress-src-1.01$ ./main
Usage: MFCompressD [ -o MultiFastaFile ]
[ -v (verbose) ]
[ -V (verbose) ]
[ -t maxProcs (def 2) ]
[ -r recordRange (i:j or i) ]
[ -i (display file info) ]
EncodedFile
*@*:~/下载/压缩/MFCompress-src-1.01$ ^C

源码在此

https://files.cnblogs.com/files/marklove/MFCompress-src-1.01.tgz.zip

编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用的更多相关文章

  1. GCC 高版本7.4 编译链接 boost 报错 boost::thread::XXX’未定义的引用 解决方法

    背景:开发中的项目之前一直用GCC4.8,boost库1.48版本的开发环境.现在因业务需求,需要更换GCC7.4,boost库1.70. 问题:可以正常编译BOOST的链接库文件,但是链接时候报错. ...

  2. c语言中在引用math库后,编译出现错误(.text+0x9c):对‘sqrt’未定义的引用的解决办法

    写于2016年11月29日晚. 原因是gcc编译器没有引用默认的math库,需要在执行编译命令时加上-ml.例如: gcc 源文件 -ml -o 编译后文件名 或者 gcc 源文件 -lm -o 编译 ...

  3. 编译lua5.3.2报错提示libreadline.so存在未定义的引用解决方法

    从官网上下载5.3.2的源码后,make linux进行编译,提示报错: gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline ...

  4. (原)编译caffe时提示未定义的引用(undefined reference to)

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5864715.html 参考网址: https://github.com/BVLC/caffe/issu ...

  5. gcc编译时对'xxxx'未定义的引用问题

    gcc编译时对’xxxx’未定义的引用问题 gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没 ...

  6. oci7编译报’olog’等未定义的引用问题

    前一天在测试一个数据导出的时候,发现oci7编译的时候报了一大堆类似"’oparse’未定义的引用问题",这通常是因为找不到实现库的原因,但是oci相关的库又都是存在的,用oci7 ...

  7. 【转】 g++编译时对'xxxx'未定义的引用问题(undefined reference to)

    转自:https://blog.csdn.net/killwho/article/details/53785910 引用:http://www.linuxdiyf.com/linux/16754.ht ...

  8. gcc编译时对’xxxx’未定义的引用问题

    gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行 ...

  9. gcc/g++ 编译时出现:“对’xxxx’未定义的引用,collect2: error: ld returned 1 exit status” 的错误

    出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了 ...

随机推荐

  1. 思维导图js

    http://baike.baidu.com/view/1469162.htm?fromenter=Mind+Maps

  2. 《JAVA与模式》之调停者模式

    调停者模式是对象的行为模式.调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显引用.从而使它们可以较松散地耦合.当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些 ...

  3. Java-Runoob-高级教程-实例-字符串:09. Java 实例 - 字符串小写转大写

    ylbtech-Java-Runoob-高级教程-实例-字符串:09. Java 实例 - 字符串小写转大写 1.返回顶部 1. Java 实例 - 字符串小写转大写  Java 实例 以下实例使用了 ...

  4. C++实现二叉树(建树,前序,中序,后序)递归和非递归实现

    #include<iostream> #include<string.h> #include<stack> using namespace std; typedef ...

  5. 关于eclipse部署项目后,在tomcat中的webapps文件夹下没有项目

    转自:https://blog.csdn.net/yang505581644/article/details/78802316 一.发现问题 在eclipse中新建Dynamic Web Projec ...

  6. 13_传智播客iOS视频教程_OC程序的编译链接

    C程序的编译.链接.执行怎么来的?在.C文件里面写上符合C语言部分的源代码.OC也是一样的.记住:OC程序的后缀名是.m. 为什么要链接?第一个.o的目标文件里面它启动不了.因为它没有启动代码我们要加 ...

  7. Windows NT/NTLM 加密

    Hash,一般翻译为“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是散 ...

  8. Win7下安装MongoDB4.0.10

    前言 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库.它们各有各的优点,关键是看用在什 ...

  9. 如何验证自己的网络是否支持ipv6

    http://test-ipv6.com/进入得到自己的ipv6地址 然后命令行 ping 一下

  10. docker速记

    1.docker:一个轻量级的虚拟机.是一个容器 2.Linux系统包括—RedHat(商业版).Centos.Ubuntu 3.docker比作码头的集装箱,image镜像就是基石,images类似 ...