我试图用 xlC 编译器这样编译一个名为 md5.c 的文件:
cc md5.c
它给我一个错误,说
ld:0711-317 错误:未定义符号:.main
在这里,我附加了 md5.c 文件,正如您所看到的,其中没有 main 文件(md5.h 中也没有),所以我不知道为什么会收到该错误
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include </home/inst6/sqllib/include/sqludf.h>
#include </home/inst6/sqllib/include/sqlca.h>
#include </home/inst6/sqllib/include/sqlda.h>
#include "md5.h"
/*--------------------------------------------------*/
/* MD5 Hashing */
/*--------------------------------------------------*/
#ifdef __cplusplus
extern "C"
#endif
void SQL_API_FN md5_c(
SQLUDF_VARCHAR *in,
SQLUDF_CHAR out[33],
SQLUDF_SMALLINT *innull,
SQLUDF_SMALLINT *outnull,
SQLUDF_TRAIL_ARGS) {
char *t;
t = md5( in );
strcpy( out, t );
free( t );
*outnull = 0;
return;
}
答案1
您收到该错误正是因为没有主要功能。您已要求编译器创建一个可执行文件;可执行文件需要一个 main 函数。也许您的意思是使用该选项告诉编译器仅编译-c
?