gpt4 book ai didi

c++ - Unresolved external symbol 错误 2001

转载 作者:行者123 更新时间:2023-11-28 02:20:49 26 4
gpt4 key购买 nike

当我尝试在另一个项目中使用我的 dll 项目时出现错误 LNK2001。

我的头文件代码是

#ifdef VIZFUNCTIONSDLL_EXPORTS
#define VIZFUNCTIONSDLL_API __declspec(dllexport)
#else
#define VIZFUNCTIONSDLL_API __declspec(dllimport)
#endif

namespace VizFunctions
{
class SUMCLASS
{
public:
static VIZFUNCTIONSDLL_API double Test(double a);

};
}

我的源文件代码是

// VizFunctions.cpp : Defines the exported functions for the DLL application.

//

#include "stdafx.h"
#include "VizFunctions.h"
#include <stdexcept>

namespace VizFunctions
{

double SUMCLASS::Test(double a)
{
return a;
}

}

错误信息

Error 13 error LNK2019: unresolved external symbol "public: static double 
__cdecl VizFunctions::SUMCLASS::Test(double)"
(?Test@SUMCLASS@VizFunctions@@SANN@Z) referenced in function "public:
int __thiscall CRectangle::PlugInNewGeom(int)" (?PlugInNewGeom@CRectangle@@QAEHH@Z)
C:\Program Files (x86)\vizrt\Viz3\plugin\src\examples\rectangle\Rectangle.obj SampleRectangle

最佳答案

如果您没有链接到 dll 的导入库,您将看到此错误。导入库是一些胶水代码,可以为您加载 DLL 并自动映射导出的 dll 函数。

确保您的 DLL 项目正在 Properties -> Linker -> Advanced -> Import Library 中创建导入库

Import library setting

如果您将 dll 项目 添加为可执行文件的依赖项(而不仅仅是 dll),那么这将自动链接到导入库并解决链接错误。如果您没有将其作为依赖项,则需要将导入库显式添加到 Linker -> Input -> Additional Dependencies 。

关于c++ - Unresolved external symbol 错误 2001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584863/

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