编译压缩代码 MFCompress-src-1.01 :对‘***’未定义的引用

提示

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

原文地址:https://www.cnblogs.com/marklove/p/9591339.html

时间: 2024-10-23 01:46:58

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

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

从官网上下载5.3.2的源码后,make linux进行编译,提示报错: gcc -std=gnu99 -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline /usr/local/lib/libreadline.so:对‘tputs’未定义的引用 /usr/local/lib/libreadline.so:对‘tgoto’未定义的引用 /usr/local/lib/libreadline.so:对‘tgetflag’未定义的引用 /usr/local/

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

出现的问题: 在使用 make 编译实现一个程序时,出现了下面的错误.查看程序源文件所在的目录时发现程序已经完成了编译,并生成了 list_repo.o 的文件,说明是在程序链接生成可执行文件时发生了问题. storages/local.o:在函数‘LocalStorage::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,

gcc编译时对&#39;xxxx&#39;未定义的引用问题

gcc编译时对’xxxx’未定义的引用问题 gcc编译时对’xxxx’未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到’xxx’的定义的情况. 本文由乌合之众 lym瞎编,欢迎转载blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 例如: g++ -o spider -

由于未定义的引用,无法获取OpenCV进行编译?

错误提示: CMakeFiles/my_subscriber.dir/src/my_subscriber.cpp.o:在函数‘imageCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&)’中:my_subscriber.cpp:(.text+0xb0):对‘cv::imshow(cv::String const&, cv::_InputA

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

gcc编译时对'xxxx'未定义的引用问题 原因 解决办法 gcc 依赖顺序问题 在使用gcc编译的时候有时候会碰到这样的问题,编译为.o(obj) 文件没有问题,但是编译(这一步应该是链接)为可执行文件的时候会出现找不到'xxx'的定义的情况. 本文由乌合之众 lym瞎编,欢迎转载blog.cnblogs.net/oloroso本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso 例如: g++ -o spider -rdynamic -lpthread -lev

c++使用thread类时编译出错,对‘pthread_create’未定义的引用

/tmp/ccM2tvqF.o: In function `main':thread_c.c:(.text+0x1f): undefined reference to `pthread_create'thread_c.c:(.text+0x52): undefined reference to `pthread_create'thread_c.c:(.text+0x7d): undefined reference to `pthread_join'thread_c.c:(.text+0xa9):

【转】C链接库进行编译 gcc 编译器对 sqrt 未定义的引用

编译的时候也要在指令后面加 -lm: gcc -o abc abc.c -lm 原因:缺少某个库,用 -l 参数将库加入.Linux的库命名是一致的, 一般为 libxxx.so, 或 libxxx.a, libxxx.la, 要链接某个库就用   -lxxx,去掉头 lib 及 "." 后面的 so, la, a 等即可. 常见的库链接方法为:数学库 -lm; posix 线程 -lpthread 转自:http://blog.csdn.net/ngcl_blog/article/d

使用Google Closure Compiler全力压缩代码(转)

JavaScript压缩代码的重要性不言而喻,如今的压缩工具也有不少,例如YUI Compressor,Google Closure Compiler,以及现在比较红火的UglifyJS.UglifyJS的出名是由于它代替Closure Compiler成为jQuery项目的压缩工具.根据我的实测,jQuery Core的代码使用UglifyJS压缩后(节省62.5%)的确要比Closure Compiler压缩后(节省57.53%)更小一些.很显然,这是因为UglifyJS的压缩策略比Clos

为了编译AVX代码,升级Redhat 5.5 GCC到4.7.1

Redhat 的GCC编译器是4.1版本,对于SSE4,AVX,AVX2的支持不够好,官方建议4.7以上.因此开始了GCC升级之路. 由于Redhat 5.5是在虚拟机下安装的,网上的升级够略都不能完全解决,经过若干尝试,下面过程可行. 主要参考如下: http://blog.sciencenet.cn/blog-714229-600604.html http://blog.sciencenet.cn/blog-714229-600389.html http://blog.rekfan.com/