问题标签 [unresolved-external]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1667 浏览

c++ - 未解析的外部符号

帮帮我,我已经找了很久了。

我正在使用 Visual Studio 2010,我试图包含一个外部库,但我得到一个未解决的外部错误。

外部项目由以下方式的文件组成

我使用 SCons 构建该项目,然后在项目中包含 .lib 文件并引用其路径,并将 .h 文件复制到 msvc 目录。

VS似乎访问和读取backend.cpp中的函数(来自自动完成)但是当我运行项目时它说有一个未解析的外部@被调用函数

0 投票
2 回答
914 浏览

c++ - 使用带有复制和交换的模板类未解决的外部问题

使用模板类时出现链接器错误,我尝试按照此处的建议实现复制和交换习惯用法:

什么是复制和交换成语?

模板类,我们称之为“TemplateClass”,部分定义如下:

我已将实现放在一个单独的 TemplateClass.cpp 中,该模板包含在 .h 文件中。(编辑:如果一切都在 .h 文件中,我有同样的问题)

赋值运算符定义为:

交换方法定义为:

(别担心,我并没有真正将我的成员命名为“member1”等)

我有一个类似的类,它以相同的方式定义,但不是模板类。那里一切正常。但是,如果我有一个TestClass有成员的类,TemplateClass< HandledClass > member并且我在它的一种方法中进行调用,例如

我得到一个未解决的外部错误:

LNK2019:函数“public: class TemplateClass X & __thiscall TemplateClass X::operator=(class TemplateClass)”(...) 中未解析的外部符号“void __cdecl swap(class TemplateClass &, class TemplateClass &)”(...)在 TestClass.obj 中

或者换句话说:TestClass调用TemplateClass<HandledClass>::operator=中找不到的东西void swap( TemplateClass<HandledClass>, TemplateClass<HandledClass> )

所以我的问题是:为什么运营商找不到swap方法?

看起来它不是为模板参数编译的。是否有可能让编译器也编译友元 voids?

我可能会放弃这种friend void方法并定义一个类内交换方法加上一个类外交换方法加上一个 std 命名空间中的一个,但我不知道它是否会这样工作,如果我想避免这种情况反正可能。


解决方案:

这完成了工作:

请注意我也必须删除 < T > 事件。

0 投票
2 回答
1352 浏览

c++ - Weird unresolved external errors

I'm getting some Unresolved External Errors I can't seem to find a solution for:

The weird thing is, I'm pretty sure I included everything correctly. Also, there's always one function that works of that class: DrawTo().

I tried to remove the 'inline' declaration for the other functions but it didn't seem to matter.

I also tried to rebuild it once, with just putting some extra endline in between two functions, and it compiled! Next time I tried compiling it didn't work again...

So I'm not entirely sure if I'm doing something wrong, or if it's the compiler... (Default VS2010 compiler) (actually, what's the name of that compiler? [comment or edit] )

Does anyone know what this could mean?

Here's the relevant code: (if you need to see more, comment and I'll edit)


Path.h


Path.cpp


MyApp.h


MyApp::WndProc()

0 投票
1 回答
11649 浏览

visual-studio-2010 - 错误 LNK2019:未解析的外部符号“toString(int)”

环境:Windows XP。Visual Studios 2010。语言 - C++。

我遇到了以下链接错误并且已经没有如何解决这个问题的想法。我有一个项目(CnD 设备),它链接到我的团队控制的 2 个项目(消息和碳)。我试图在 3 个项目之间搜索项目属性

我相信这个问题是因为我没有链接到标准 C++ 库中的字符串。我一遍又一遍地扫描我的属性列表。以下是我认为对这个问题至关重要的一些属性。

CnD 设备属性信息:

  1. 配置类型动态库.dll
  2. 使用MFC 在共享 DLL 中使用 MFC
  3. 使用 ALT不使用 ALT
  4. 字符集使用多字节字符集
  5. 运行时库多线程 DLL (/MD)
  6. 附加依赖项 msvcprtd.lib、Carbon.lib、BUFFER_API.lib、BUFFER_FRAMEWORK.lib、Messages.lib
  7. 忽略所有默认库

消息属性信息:

  1. 配置类型静态库 (.lib)
  2. 使用MFC 在共享 DLL 中使用 MFC
  3. 使用 ALT不使用 ALT
  4. 字符集使用 Unicode 字符集
  5. 运行时库多线程 DLL (/MD)
  6. 附加依赖项
  7. 链接库依赖

碳属性信息:

  1. 配置类型静态库 (.lib)
  2. 使用MFC 在共享 DLL 中使用 MFC
  3. 使用 ALT不使用 ALT
  4. 字符集使用 Unicode 字符集
  5. 运行时库多线程 DLL (/MD)
  6. 链接库依赖

我的 CnD 链接输出是:

0 投票
1 回答
1220 浏览

netbeans - 这个 netbeans 图标是什么意思?

在 NetBeans 7.0 上的 Web 应用程序中创建 Web 服务客户端后,项目图标显示警告标志,然后标签变为红色。现在,Web 服务客户端无法按预期工作,并且没有给我任何关于其失败的消息。所以我想知道这个图标是否可以为我指明正确的方向,但不幸的是我不知道这意味着什么。这是图标: 显示警告的 Web 应用程序图标

如果有人知道有关此图标的一两件事,将很高兴分享。谢谢...

0 投票
1 回答
1161 浏览

qt - 将 Qt DLL 链接到 Qt App - 未解决的引用

我刚刚安装了 Qt 4.7.4 并尝试制作一个使用 Qt DLL 的简单 Qt 应用程序。我像往常一样通过 ifdef 在 DLL 中的一个类中添加了导出/导入,但是在编译 App 时,我发现了未解析的引用。我还设置了 App 依赖于 DLL。

以下是主要文件:


Lib.pro


应用程序.pro


库文件


Lib_global.h

这段代码有什么问题?为什么它是未解决的参考?在应用程序中,我只包含“../Lib/lib.h”并尝试使用该类。

0 投票
3 回答
19257 浏览

c++ - Visual Studio 构建错误:未解析的外部符号 _IID_IWICImagingFactory(MFC 静态库)

我在 SDI(启用 Doc/View)项目中编写了一个带有几个标准对话框的 porgram。

现在我想把它发送给一些朋友,我确实设置了Use of MFC Use MFC in a static library.

但是当我尝试构建解决方案时,出现以下错误:

错误 LNK2001:无法解析的外部符号 _IID_IWICimagingFactory

我的问题是,我不知道这个接口 id 到底是什么,因为我没有手动为 COM 编写任何代码,也没有使用任何图像工厂的东西或等价物......

我有点迷路了...

谁能告诉我如何解决这个问题并使其与静态 MFC 一起使用?

提前致谢!

0 投票
2 回答
2098 浏览

c++ - 未解析的外部符号 - 来自 C++ dll 的 LNK2019

我使用 GetProcAddress 从 C++ dll 将 GetInstance 函数加载到我的基本代码中,并得到一些未解决的外部符号错误:

错误LNK2019:未解析的外部符号“_ declspec(dllimport) public: unsigned int_thiscall RegTestAPI::CTestmode_Sle70::SetMSfr(unsigned int,unsigned short,char *)” (_ imp ?SetMSfr@CTestmode_Sle70@RegTestAPI@@QAEIIGPAD@Z) 在函数“int __cdecl SetUserDescriptor(unsigned char,unsigned int,unsigned int ) 中引用)" (?SetUserDescriptor@@YAHEII@Z)

DLL 代码

标题

资源

...

工具代码

我的想法是调用约定有问题(查看错误消息 -> __thiscall 和 __cdecl 提示:两个项目都设置为 __cdecl (/Gd))?!

任何想法为什么这不起作用?

先感谢您!

打招呼

0 投票
1 回答
739 浏览

c++ - 未解决的外部

我很难弄清楚我未解决的外部错误。

我有 2 个不同的解决方案,它们都共享一个核心项目。解决方案 #1 称为 SnapGame,解决方案 #2 称为 SnapEditor。核心项目称为 SnapCore。

我的 SnapGame 解决方案是一个 Win32 应用程序。它可以毫无问题地编译、引用和链接 SnapCore 项目。

SnapEditor 解决方案是一个 Windows 窗体应用程序。它编译并引用 SnapCore 项目。但是,它不会与它正确链接。每当我尝试引用 SnapCore 项目中的任何内容时,都会遇到未解决的外部错误。

SnapCore 项目有一些 GDI+ 支持类。SnapCore 项目中的所有类都在 SnapCore 命名空间下。

这是 Form1.cpp 文件:

这是我得到的链接器错误:

我不明白为什么我的 SnapGame 解决方案链接没有问题,但 SnapEditor 解决方案不会。

任何帮助,将不胜感激。

0 投票
1 回答
811 浏览

com - 在本机中托管 CLR - COM 接口,未解析的外部符号 _CStdStubBuffer_Release@4

我正在尝试托管 CLR(暂时不尝试使用单声道,尽管我可能会尝试)。基本上,我正在关注这个:

http://www.lenholgate.com/blog/2010/07/clr-hosting---a-flexible-managed-plugin-system-part-1.html

但是,我在使用 COM 本身时遇到了一些问题,因为在那篇文章中没有对它进行彻底的解释,而且我边走边学(以前没有玩过 COM)。

我定义了一个接口:

并将生成的文件包含在我的本机项目中。但是,我无法构建可执行文件,因为链接器无法解析:_CStdStubBuffer_Release@4。是链接的RpcRT4.lib,但是我已经运行dumpbin rpcrt4.lib /all | grep _CStdStubBuffer_Release了,并且没有像该库导出的那样,有CStdStubBuffer_DebugServerRelease. 那么,问题是,如果它不应该存在,究竟是什么引用了该方法?

做了更多调查,我发现这个方法是通过 IDL 工具生成的 .c 文件引用的:

和 CStdStubBuffer_METHODS 在RpcProxy.hwindows SDK中定义v7.0A

它确实需要 CStdStubBuffer_Release 方法,尽管它与:http: //msdn.microsoft.com/en-us/library/windows/desktop/ms764247%28v=VS.85%29.aspx有点不同。

那我应该链接什么其他图书馆?