链接器错误LNK2019可追溯到一个u stdcall我想我得到了正确的库-我能做些什么来解决这个问题? 我试图将LabCVI项目移植到MSVS 2010 C++快件。有一行代码如下所示: if (InitCVIRTE == 0) return 0;

链接器错误LNK2019可追溯到一个u stdcall我想我得到了正确的库-我能做些什么来解决这个问题? 我试图将LabCVI项目移植到MSVS 2010 C++快件。有一行代码如下所示: if (InitCVIRTE == 0) return 0;,c++,linker,lnk2019,stdcall,cvi,C++,Linker,Lnk2019,Stdcall,Cvi,发生链接器错误:LNK2019“_InitCVIRTEEx@12“-所有相关标题已包含cpp语句: #ifdef __cplusplus extern "C" { #endif ... #ifdef __cplusplus } #endif 我将错误追溯到我为您组合的以下代码片段: #define CVIFUNC __stdcall int CVIFUNC InitCVIRTEEx (void *hInstance, char *argv[], void *reserve

发生链接器错误:LNK2019“_InitCVIRTEEx@12“-所有相关标题已包含cpp语句:

#ifdef __cplusplus 
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
我将错误追溯到我为您组合的以下代码片段:

#define CVIFUNC __stdcall
int CVIFUNC InitCVIRTEEx (void *hInstance, char *argv[], void *reserved);
#define InitCVIRTE InitCVIRTEEx
总而言之:

int __stdcall InitCVIRTEEx (void *hInstance, char *argv[], void *reserved);
这个调用应该在cvirt.lib中定义,它被添加到librarypath(CVI2009\extlib\msvc)中。链接器错误仍然发生,我不知道为什么

应该以不同的方式添加库吗? 我如何验证这确实是正确的库?
这个错误意味着完全不同的东西吗?

我不知怎么解决了它——我直接将cvirt.lib和cvisupp.lib添加到项目中。错误现在消失了


然而,我仍然不满意,因为我已经为项目提供了它应该寻找库的路径。我将向stackoverflow添加另一个问题,询问区别是什么。

您需要告诉链接器要链接哪些库。搜索路径将只告诉链接器在哪里可以找到这些库

i、 e:


链接器将搜索A.LIB和B.LIB的两个文件夹,但不会链接任何未被告知的库。

你能找到<代码> iTcCVIETEX < /代码>的定义吗?是的,我复制了我的踪迹——这是中间的语句。
Linker Libraries:
 - a.lib
 - b.lib

Linker Search Dirs:
 C:\project_a\lib
 C:\project_b\lib