尝试使用命名空间中的函数时LNK2019错误
Error LNK2019 when try to use function from namespace
我正在为我的项目编写一些实用程序函数。当我尝试使用嵌套命名空间中的某些函数时,我遇到了一个奇怪的LNK2019错误。我试图在谷歌和堆栈溢出中搜索,但我没有得到一些可以帮助我的东西。
我的文件
头文件X.h
:
#pragma once
namespace A {
namespace B {
/**
* A função recebe edValue e devolve em ponto flutuante
* o inteiro mais próximo de edValue.
*
* Método usado: http://en.wikipedia.org/wiki/Directed_rounding#Round_half_up
*
* @param edValue valor que será arredondado.
* @return o inteiro mais próximo à edValue (em ponto flutuante).
*/
double round(double edValue);
}
}
CPP 文件X.cpp
#include "StdAfx.h"
#include "X.h"
#include <cmath>
double A::B::round(double edValue)
{
return floor(edValue + 0.5);
}
错误信息
7>D.obj : error LNK2019: unresolved external symbol "double __cdecl A::B::round(double)" (?round@A@B@@YANN@Z) referenced in function "public: void __thiscall
编辑(解决我的问题)
我的文件X.{h,cpp}
在项目 A 中,我在项目 B 中使用这些功能。如果我在函数的原型中使用__declspec(dllexport)
,我可以在项目 B 中使用这些函数,因为它使用类似于 A 的 DLL。我在如何使用Visual Studio 2010中来自不同C++项目的函数中得到了这个提示?(由@Luchian Grigore回复)和Visual Studio:关于在两个项目之间链接功能的问题(由@dascandy回复)。
如果函数的代码位于其他项目中,则必须将其编译为静态或动态库,然后将库添加到链接器>输入>其他依赖项(对于 MS Visual Studio)下的项目选项中的调用项目。
你需要做两件事:
- 在"链接器>常规>其他依赖项 + - 指定在链接器>输入>其他依赖项下使用的库的路径
相关文章:
- 类C++中的函数问题(LNK2019和LNK1120错误)
- 函数 LNK2019 "int __cdecl __scrt_common_main_seh(void)" 中引用的未解析外部符号主错误 (?__scrt_common_main_seh@@YAHXZ
- 在结构函数之间传递文件路径 C++ 编辑:修复LNK2019错误
- Azure IOT 错误LNK2019:函数IoTHubClient_LL_UploadToBlob_step1and2
- LNK2019构造函数/析构函数使用 C++ Dll
- qt -lnk2019当在类的成员函数中使用名称空间的函数时
- LNK2019某些类函数,但不在其他类函数(DLL 中的模板类)上
- 函数中引用LNK2019未解析的外部符号 dbbind 的错误
- lnk2019未解决的外部符号_sdl_init在函数_sdl_main中引用
- 错误LNK2019:未解决的外部符号_sqlite3_key在函数_main中引用
- MSVCRTD.lib(crtexew.obj):错误LNK2019:未解析的外部符号_WinMain@16在函数___
- 尝试使用命名空间中的函数时LNK2019错误
- LNK2019:函数__tmainCRTStartup中引用未解析的外部符号_main
- C++:错误LNK2019:函数_main中引用的未解析外部符号
- 在静态方法内部使用函数时,会出现LNK2019未解析的外部
- C++错误LNK2019:函数_tmainCRTStartup中引用的未解析外部符号_main
- LNK2019错误,在Visual Studio 2012 C++的main中使用的函数
- 错误 LNK2019:函数"private: 结构_DISPLAY_DEVICEA __thiscall"中引用未解析的外部符号__imp__EnumDisplayDevicesA@16
- 错误 21 错误 LNK2019:未解析的外部符号:..在函数中引用:...
- 错误LNK2019:未解析的外部符号_MQCreateQueue@16在函数_wmain中引用