【发布时间】:2016-01-09 03:38:39
【问题描述】:
我想拥有这个,或者我应该说我想在 Form1(void) 中触发或调用 Wfs_StartUp、Wfs_Open、Wfs_Execute 等函数,但我遇到了这些错误:
错误 LNK2028:未解析的令牌 (0A000371) “int _cdecl mytestapp::Wfs_Execute(unsigned short)” (?Wfs_Execute@mytestapp@@$$FYAHG@Z) 在函数“public: _clrcall mytestapp::Form1::Form1”中引用(void)" (??0Form1 @mytestapp@@$$FQ$AAM@XZ)
这个错误被报告了两次,但在第二个错误中是
错误 LNK2019:函数“public: _clrcall mytestapp::Form1::Form1(void )" (??0Form1@mytestapp@@$$FQ$AAM@XZ)
还有第三个错误:
错误 LNK1120:2 个未解决的外部问题。
【问题讨论】:
-
Microsoft Visual Studio C++ 2010
-
对于托管 C++,“未解析的令牌”类似于原生 C++ 中的“未解析的引用”,即链接器无法找到符号(函数、变量等)的定义,因为您的代码中没有这些定义或由于缺少库依赖项
-
我已尝试将路径添加到 .lib 文件,但仍然如此。我不明白究竟是 Wfs_Execute() 还是它现在被定义为“无符号短”的参数是没有链接的。究竟是什么问题。我什至已经阅读了提供的链接上的那些答案尝试了一些但仍然没有运气。我什至认为我可能调用了错误的函数“Wfs_Execute”,甚至将其更改为“WFSExecute”,但仍然是同样的错误。
-
刚刚弄清楚是哪一行出现了这个错误。在 Form1(void) 这就是我所做的: HSERVICE hservice=0; BOOl fSuccess=EXIT_SUCCESS; if(Wfs_StartUp()) { if(Wfs_Open(&hService)) { if(Wfs_Lock(hService)) { Wfs_Execute(hService); // 这是产生此错误的行,就像我注释掉应用程序执行的这一行一样。这就是这个错误的来源。那么这里可能有什么问题呢?是 Wfs_Execute 函数还是它可能是参数?
-
@world 添加了对这些函数所在的程序集的引用?如果是,这些函数是否公开?
标签: .net c++-cli mixed-mode cen-xfs