编译时出错:core.obj:错误 LNK2001:未解析的外部符号_harmony_core_init

Error in compiling: core.obj : error LNK2001: unresolved external symbol _harmony_core_init

提问人:Gustavo Lellis 提问时间:9/4/2014 更新时间:9/4/2014 访问量:1392

问:

错误

core.obj : error LNK2001: unresolved external symbol _harmony_core_init
core.obj : error LNK2001: unresolved external symbol _harmony_core_final

core.c - 函数代码段

harmony_core_init(); 

do_init(argc,argv); // Inicializa as funções do servidor  
.
.
do_sockets(next); 
} 
} 

harmony_core_final();

harmony.h - 带有代码的文件

#include "../common/harmserv.h" 

void harmony_core_init(); 
void harmony_core_final(); 

harmony.c - 带有代码的文件

#include "../common/harmony.h" 

void harmony_core_final() { 
db_destroy(mod_exports); 
db_destroy(harm_timer); 
harm_funcs->final(); 
} 

void harmony_core_init() {
int *module_version;
void (*module_init)();
}

感谢您的帮助。

C++ 未解析-外部 LNK2001

评论


答:

0赞 PaulMcKenzie 9/4/2014 #1

由于您没有发布更多相关信息,因此未解析的外部信息意味着以下一项或多项:

  1. 无法编译缺少的函数。

  2. 您未能将包含函数实现的源模块添加到您的项目中。

  3. 无法添加包含包含这些函数的目标代码的静态库。

  4. 无法将导入库添加到包含这些函数存根的项目中

  5. 您将该模块编译为 C++ 模块,而它实际上是一个 C 模块,而其他外部模块需要“C”函数,而不是 C++ 函数(名称修改问题)。

  6. 包含目标代码的目标代码文件或静态库已损坏。

我认为这是大多数原因,如果不是全部原因的话。

那么,您认为以上哪一项是呢?