Ошибка компоновщика при перестройке C ++ - CLI проекта std :: basic_string - PullRequest
1 голос
/ 11 июня 2011

Я пишу приложение на C ++ в Visual Studio 2008. Я добавил форму Windows в свой проект, включил поддержку CLR и добавил строку для создания экземпляра формы.

После этого я получаю множество ошибок компоновщика следующим образом:

ошибка LNK2001: неразрешенный внешний символ "public: виртуальный класс std :: basic_string , класс std :: allocator > __thiscall ..." (...)

Есть идеи, что я делаю не так?

Полная ошибка (анонимно):

1>Linking...
1>   Creating library C:\***.lib and object C:\***.exp
1>getProducts.obj : error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>getProducts.obj : error LNK2001: unresolved external symbol "protected: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall ***::GetClassName(void)const " (?GetClassName@***@@MBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
1>MSVCRT.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:\***.exe : fatal error LNK1120: 9 unresolved externals
1>Build log was saved at "file://c:\***\BuildLog.htm"
1>getProducts - 10 error(s), 12 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========

1 Ответ

1 голос
/ 29 декабря 2011

Если вы используете несколько файлов, созданных пользователем, в вашем проекте, ошибка может возникнуть из-за того, что вы не объявляете переменные как внешние или включаете заголовочные файлы более одного раза.См. Следующий веб-сайт для ответа на вашу проблему:

www.gamedev.net / page / resources / _ / техническая / общее программирование / упорядочивание кодовых файлов в c ис-r1798

...