读书人

在一个电脑里正常另一个里编译找不到

发布时间: 2012-03-27 13:44:24 作者: rapoo

在一个电脑里正常,另一个里编译找不到函数定义?
我使用了glib里面的一个函数,在自己的电脑里面编译正常,换一台就找不到了?

错误信息如下:
/home/yx/Downloads/bio/htqc-0.9.0-Source/ht_tile_filter.cpp: In function ‘int main(int, char**)’:
/home/yx/Downloads/bio/htqc-0.9.0-Source/ht_tile_filter.cpp:145:32: error: ‘g_match_info_unref’ was not declared in this scope

源代码:

C/C++ code
#include <set>#include <string>#include <iostream>#include <stdexcept>#include <cstring>#include <cstdlib>#include <cstdio>#include <glib.h>#include <ht_common.h>using namespace std;// 后面没有别的宏了......int main(int argc, char** argv) {......    g_match_info_unref(what);......}

然后glib.h里面是这样的:
C/C++ code
#ifndef __G_LIB_H__#define __G_LIB_H__#define __GLIB_H_INSIDE__......#include <glib/gregex.h>......#undef __GLIB_H_INSIDE__#endif /* __G_LIB_H__ */

然后glib/gregex.h里面是这样的:
C/C++ code
#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)#error "Only <glib.h> can be included directly."#endif#ifndef __G_REGEX_H__#define __G_REGEX_H__......void              g_match_info_unref            (GMatchInfo          *match_info);......#endif  /*  __G_REGEX_H__ */


没发现有什么让我看不到那个函数啊?而且为啥我自己的电脑就能编译呢?

[解决办法]
gregex.h有没有什么ifdef之类的语句会让你看不到这个函数?
[解决办法]
两台电脑的库函数不一样吧,一台电脑缺了一些文件
[解决办法]
缺少库文件????????????

读书人网 >C++

热点推荐