gpt4 book ai didi

c++ - LNK2019 VS2012错误(未解析的外部符号)

转载 作者:行者123 更新时间:2023-11-28 07:33:33 25 4
gpt4 key购买 nike

我做了两个项目:一个是提供者,在里面我添加了一个 DH 类:

using namespace std;
#ifdef PROVIDER_EXPORTS
#define DH_API __declspec(dllexport)
#else
#define DH_API __declspec(dllimport)
#endif
#include <iostream>

namespace Provider
{
class DH
{
public:
static DH_API std::string GetKey();
};
}

和小鬼:

#include "DH.h"

using namespace std;
namespace Provider
{


std::string DH::GetKey()
{

return "KEY";
}

}

当我转储 dll 时,我得到:

?GetKey@DH@Provider@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ = @ILT+10(?GetKey@DH@Provider@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)

在一个新项目上——测试人员我包括 dh.h我已将 Provider 项目的调试文件夹添加到链接目录

我只是调用 DH::GetKey 但是当我编译时我得到:

LNK2019: unresolved external symbol "__declspec(dllimport) public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl Provider::DH::GetKey(void)" (__imp_?GetKey@DH@Provider@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)

怎么了?

最佳答案

您需要设置项目依赖项或将您的 dll 的 .lib 文件添加到 tester 项目的 lib 输入,以便它知道在哪里搜索导入的函数

关于c++ - LNK2019 VS2012错误(未解析的外部符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17188028/

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