视觉错误LNK2001:未解析的外部符号(C++)

visual error LNK2001: unresolved external symbol (C++)

本文关键字:符号 外部 C++ LNK2001 错误 视觉      更新时间:2023-10-16

假设我在一个名为one.cpp的文件中有一个名称为DoThis(const char*abc)的函数。因此,当我试图从不同源文件(two.cpp)中的另一个函数调用此函数时,我会收到错误:error LNK2001:未解析的外部符号(C++),尽管我使用了#include"one.h"。我该怎么解决这个问题?

这意味着程序中不存在函数的定义。您忘记将one.cpp添加到程序中。

在这种情况下,"添加"的含义取决于您的构建环境及其术语。在MSVC中(因为您显然在使用MSVC),您必须将one.cpp添加到项目中。

更实际的说法是,适用于所有典型的构建方法,当您链接程序时,缺少从one.cpp创建的对象文件。

听起来像是在使用Microsoft Visual C++。如果是这样的话,那么最有可能的是你没有用one.cpp编译你的two.cpp(one.cpp是one.h的实现)

如果您来自命令行(cmd.exe),请先尝试以下操作:cl-o two.exe one.cpp two.cpp

如果您来自IDE,请在Solution Explore中右键单击项目名称。然后选择"添加",现有项目。。。。将one.cpp添加到您的项目中。

相关文章: