包含上的 Visual Studio C++“未找到函数定义”

Posted

技术标签:

【中文标题】包含上的 Visual Studio C++“未找到函数定义”【英文标题】:Visual Studio C++ "Function definition not found" on include 【发布时间】:2018-06-21 14:37:22 【问题描述】:

我下载了detours 源代码并用nmake 编译它。现在我想将它包含在C++ 项目so I added the include directory path to the include directories 以及C++ 源文件顶部的#include "detours.h" 中。以前未解决的detours.h 现在已修复,但我仍然在detours.h 文件本身中收到Function definition not found 错误:

这会导致一些链接器错误,如下所示:

Error   LNK2019 unresolved external symbol _DetourTransactionBegin@0 referenced in function "unsigned long __stdcall InitializeHooks(void *)" (?InitializeHooks@@YGKPAX@Z)

detours 文件夹如下所示:

我已经清理并重建了解决方案,但错误仍然存​​在。我还需要做些什么才能使其正常工作吗?我如何告诉Visual Studio 在哪里查找函数定义,因为指定includes 似乎还不够?

【问题讨论】:

你是否链接到库,在哪里定义了这样的函数?相关:***.com/questions/12573816/… 不,谢谢,我现在修好了。 【参考方案1】:

我也忘了将.lib 文件传递​​给链接器:

进一步将库添加到Library Directories 路径,以便可以找到.lib 文件。

现在链接器错误消失了。

【讨论】:

以上是关于包含上的 Visual Studio C++“未找到函数定义”的主要内容,如果未能解决你的问题,请参考以下文章

在 Linux 上的 Visual Studio 中链接两个项目

visual studio 2010 一个解决方案里有多个c++源文件 怎么只执行其中一个?

持续集成:Visual Studio 2008 上的非托管 C++

MS Visual Studio 2012 Express 是不是同时包含 C#、Visual Basic、C++? [关闭]

Visual Studio C++ 编译器在局部变量对象上的奇怪行为

Visual Studio 包含文件调用错误 - C++