未解决的外部符号错误,即使函数是由IDE定义和查看的
Unresolved external symbol error, even if function is defined and seen by IDE
使用Visual C++2008,我有一个"未解析的外部符号",即使使用IDE,我也可以正确地看到函数的声明和定义:
错误:
hook_file.obj : error LNK2001: unresolved external symbol "int __cdecl is_directory_objattr(struct _OBJECT_ATTRIBUTES const *)" (?is_directory_objattr@@YAHPBU_OBJECT_ATTRIBUTES@@@Z)
hook_file.cpp:中的相关代码
#include "misc.h"
void handle_new_file(HANDLE file_handle, const OBJECT_ATTRIBUTES *obj)
{
if(is_directory_objattr(obj) == 0 ) {
// etc.
杂项文件中的声明:
BOOL is_directory_objattr(const OBJECT_ATTRIBUTES *obj);
misc.cpp文件中的定义:
#include "misc.h"
BOOL is_directory_objattr(const OBJECT_ATTRIBUTES *obj)
{ //function body here }
我真的不明白链接器在这里抱怨什么。
- 带有函数声明的标头包含在文件中调用函数
- 带有函数定义的cpp文件包含带有声明的头文件
- 声明和定义完全相同
- 所有文件都列在项目文件中
知道怎么了吗?
谢谢!
是否只包含一次头文件?
混合
#ifndef MISC
#define MISC
...
#endif MISC ?
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- #定义c-预处理器常量..我做错了什么
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 在 C++ 中对"Class::function()"错误的未定义引用 [CLion IDE]
- Arduino IDE中自定义库类的.h文件编译错误的原因是什么
- 使用Arduino IDE的构造函数的未定义参考错误
- 对符号"XF86VidModeQueryExtension"(linux,qt creator IDE)的未定义引用
- 未解决的外部符号错误,即使函数是由IDE定义和查看的
- Eclipse IDE 中对"crypt"的未定义引用
- Arduino IDE编译器错误多重定义
- 为什么我的 IDE 告诉我 Squirtle.cpp 构造函数中未定义"newHp"?
- 为OS X搜索可以使用自定义gcc安装的C/ c++ IDE
- 如何为特定的单词(如IDE)设置自定义颜色
- 在Arduino IDE中使用正则表达式库时对"longjmp"的未定义引用
- X11函数与未定义的引用,但它似乎是好的.IDE不会抱怨这些库