gpt4 book ai didi

c++ - 无法从另一个项目链接一个项目的头文件和 cpp 文件 LNK2019 : unresolved external symbol error

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:32 25 4
gpt4 key购买 nike

我有一个头文件A.h

namespace DIV
{
int Fun();
}

源文件A.cpp

namespace DIV
{
class A
{
public:
A(){}
~A(){}
int Fun();
};


int A::Fun()
{
return 0;
}
}

现在我在同一解决方案的另一个项目中有另一个源文件 B.cpp。

此源使用谷歌的 GTest 框架。在我使用的测试函数中

#include "gtest/gtest.h"
#include "A.h"
TEST(FunTest, Param)
{
int value = DIV::Fun();
}

由于 DIV::Fun() 调用,我收到链接器错误。我不明白链接器错误背后的原因。

编辑: B.cpp 在 .exe 项目中,A.h/cpp 在 lib 项目中。

最佳答案

问题解决了。我从here得到了答案.总而言之,我需要将我的 exe 项目与包含函数 fun() 的 lib 项目链接起来。现在,使 .exe 项目链接到 .lib 项目的最简单方法可能是添加引用:

  • 在 .exe 项目的设置中,选择位于部分列表顶部的名为“公共(public)属性”的部分。
  • 您现在应该看到 .exe 项目具有的引用列表。该列表可能是空的。
  • 单击对话框底部的“添加新引用”按钮并将 .lib 项目添加为引用
  • 当您在引用列表中选择新引用时,您将看到该引用的一组属性。确保名为“Link Library Dependencies”的属性设置为 true。这将导致在构建 .exe 项目时将 .lib 项目自动添加为链接器的输入。

之后链接器错误就消失了。

关于c++ - 无法从另一个项目链接一个项目的头文件和 cpp 文件 LNK2019 : unresolved external symbol error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22369339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com