连接时遇到问题,ld: Unsatisfied symbol一个类被编译成.a静态库 ,头文件里面包含了那个类的声明文件.h
在编译的时候也-l那个.a的静态库。编译时候一点问题也没有,但是连接的时候就跳出如下错误。
ld: Unsatisfied symbol "Update_Table_ICjxr" in file ICS_ICjxrManage_2.o
1 errors.
CMDTUX_CAT:1832: ERROR: can't execute cc +DA2.0W -Wl,+s -D__BIGMSGQUEUE_ENABLED
-I$TUXDIR/include -o IC_Table_Manage BS-56d9.c-L${TUXDIR}/lib
在网上搜索,有说是缺少库的,有说是编译顺序有问题的
仔细检查,确认没有缺少库
但这个编译顺序,也应该没问题
不知还有其他什么原因,望赐教#define SJXCBZ "222222"
#include "atmi.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include "bankapi.h"
$include "net_trans.h";
#inclu
深埋的电线网线电话先等怎么检测----
de "net_trans_flds.h"
$include "ICjxr.h"; /*包括的 .h */
$include sqlca.h;
ICSjxrManage_2(rqst) /*tuxedo服务端 */
TPSVCINFO *rqst;
{
char filename[60];
char error_file[60];
char error_file1[60];
char s_files[1024];
struct NET_TRANS *net_trans_cli;
int flag;
.
.
.
.
flag=Update_Table_ICjxr (filename,error_file);
.
.
.
}
int Update_Talbe_ICjxr(file_pointer1,file_pointer2 )
char *file_pointer1;
char *file_pointer2;
{
.
.
.
}
很奇怪的事情,我把Update_Talbe_ICjxr改名为Update_ICjxr就行了,很不解
建议查查你所用 linker 的文档,看看 Unsatisfied symbol 到底指的是哪种情况。
--转自