.net 重建C++-CLI项目标准::基本\u字符串 我在Visual Studio 2008中编写C++应用程序。我已经在我的项目中添加了一个Windows窗体,启用了CLR支持,并添加了一行来实例化该窗体

.net 重建C++-CLI项目标准::基本\u字符串 我在Visual Studio 2008中编写C++应用程序。我已经在我的项目中添加了一个Windows窗体,启用了CLR支持,并添加了一行来实例化该窗体,.net,winforms,visual-c++,visual-studio-2008,c++-cli,.net,Winforms,Visual C++,Visual Studio 2008,C++ Cli,执行此操作后,我收到大量链接器错误,如下所示: 错误LNK2001:未解析的外部符号“public:virtual class std::basic_string\u thiscall…”(…) 知道我做错了什么吗 完全错误(匿名): 1>链接。。。 1> 创建库C:\***.lib和对象C:\***.exp 1> getProducts.obj:错误LNK2001:未解析的外部符号“public:virtual class std::basic\u string\u thiscall***::

执行此操作后,我收到大量链接器错误,如下所示:

错误LNK2001:未解析的外部符号“public:virtual class std::basic_string\u thiscall…”(…)

知道我做错了什么吗

完全错误(匿名):

1>链接。。。
1> 创建库C:\***.lib和对象C:\***.exp
1> getProducts.obj:错误LNK2001:未解析的外部符号“public:virtual class std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@UBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> getProducts.obj:错误LNK2001:未解析的外部符号“受保护:虚拟类std::basic\u string\u thiscall***::GetClassName(void)const”(?GetClassName@***@@MBE?AV?$basic)_string@DU?$char_traits@D@性病病毒$allocator@D@2@@std@@XZ)
1> MSVCRT.lib(crtexe.obj):错误LNK2019:未解析的外部符号u main在函数uuuu_utmaincrtstartup中引用
1> C:\***.exe:致命错误LNK1120:9个未解析的外部
1> 生成日志保存在“文件:\***\BuildLog.htm”
1> getProducts-10个错误,12个警告
=========全部重建:0成功,1失败,0跳过========

如果在项目中使用多个用户创建的文件,则可能会发生错误,因为您没有将变量声明为extern或多次包含头文件。有关问题的答案,请访问以下网站:


链接库目录设置为“是”。是否有任何特定的库需要链接?不知道我从未在visual studio上工作过。你能说出完整的错误吗?问题不在于基本字符串本身,而在于另一个类有一个
public:virtual
函数,该函数返回一个
std::string
。也许您忘了在某个派生类中实现它?或者那个函数没有链接到可执行文件?Visual Studio 2008不支持托管C++。因此,我重新记录了你的问题。(它确实支持的C++/CLI与“Managed C++”不同)
GetClassName
是您的问题而不是字符串查看代码中此方法的声明和实现。。。如果你仍然坚持在这里张贴方法和细节,我们会看一看。