【问题标题】:Various linker errors in visual studio 2012Visual Studio 2012 中的各种链接器错误
【发布时间】:2014-04-26 10:58:45
【问题描述】:

我正在处理一项学校作业,为此我们提供了一些 .lib 文件。我将它们添加到链接器中,但仍然出现链接器错误。当我将它们更改为不同的路径时,我得到了一个找不到文件的错误。我的错误是:

Error   53  error LNK2019: unresolved external symbol "__declspec(dllimport)    public: __thiscall sql::SQLString::~SQLString(void)" (__imp_??1SQLString@sql@@QAE@XZ) referenced in function "public: static class std::vector<class Address *,class std::allocator<class Address *> > __cdecl AddressDAO::findAddressByCity(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?findAddressByCity@AddressDAO@@SA?AV?$vector@PAVAddress@@V?$allocator@PAVAddress@@@std@@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)    C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\AddressDAO.obj
Error   54  error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall sql::SQLString::~SQLString(void)" (__imp_??1SQLString@sql@@QAE@XZ)  C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\DatabaseSingleton.obj
Error   55  error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sql::SQLString::SQLString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??0SQLString@sql@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: static class std::vector<class Address *,class std::allocator<class Address *> > __cdecl AddressDAO::findAddressByCity(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?findAddressByCity@AddressDAO@@SA?AV?$vector@PAVAddress@@V?$allocator@PAVAddress@@@std@@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z) C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\AddressDAO.obj
Error   56  error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sql::SQLString::SQLString(char const * const)" (__imp_??0SQLString@sql@@QAE@QBD@Z) referenced in function "public: static class std::vector<class Address *,class std::allocator<class Address *> > __cdecl AddressDAO::findAddressByCity(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?findAddressByCity@AddressDAO@@SA?AV?$vector@PAVAddress@@V?$allocator@PAVAddress@@@std@@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)   C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\AddressDAO.obj
Error   57  error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall sql::SQLString::SQLString(char const * const)" (__imp_??0SQLString@sql@@QAE@QBD@Z)  C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\DatabaseSingleton.obj
Error   58  error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall sql::SQLString::operator class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &(void)const " (__imp_??BSQLString@sql@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) referenced in function "public: static class std::vector<class Address *,class std::allocator<class Address *> > __cdecl AddressDAO::findAddressByCity(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?findAddressByCity@AddressDAO@@SA?AV?$vector@PAVAddress@@V?$allocator@PAVAddress@@@std@@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@@Z)    C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\AddressDAO.obj
Error   59  error LNK2019: unresolved external symbol __imp__get_driver_instance referenced in function "private: __thiscall DatabaseSingleton::DatabaseSingleton(void)" (??0DatabaseSingleton@@AAE@XZ) C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\KiaDealer\DatabaseSingleton.obj
Error   60  error LNK1120: 5 unresolved externals   C:\Users\Kenny\Documents\software project\Groep 6\Docs\Dev-Branch-Kenny\KiaDealer\Debug\KiaDealer.exe

我无法编译它。我什至尝试将项目从 unicode 更改为其他选项,因为我读到这解决了某人的这些错误之一的问题。

编辑,我也收到很多这样的警告,它们可能是相关的: 警告 1 警告 C4251: 'sql::SQLString::realStr' : 类 'std::basic_string<_elem>' 需要有 dll 接口供类 'sql::SQLString' 的客户端使用 c: \users\kenny\documents\software project\groep 6\docs\dev-branch-kenny\kiadealer\kiadealer\include\cppconn\sqlstring.h 38

【问题讨论】:

  • 错误状态为 SQL。也许你也应该在标签中包含 SQL。
  • @G.Samaras:这个问题与 SQL 语句或 SQL 语言无关。它不应该有 [sql] 标签。
  • Mat 我告诉它是因为我在错误中看到了 sql,但我不确定,这就是我告诉它的原因。感谢您的澄清。
  • 这里提到了SQL,因为它是一个连接lib的数据库

标签: c++ visual-studio-2012 linker lnk2019 lnk2001


【解决方案1】:

它确实编译,但它不链接,有区别。在为您搜索后,您似乎没有为正确的平台进行编译;关注这个thread。进入您的配置管理器并更改您的目标平台。

【讨论】:

  • 感谢您的回复,我已经尝试将平台更改为x64,但没有成功。我仍然遇到同样的错误。
  • 您是否被指示使用预处理器定义将库设置为静态?设置与否此定义应切换静态或动态链接。
  • 图书馆给我的说明告诉我将以下内容添加到我的预处理器中;我错过了什么吗? WIN32 _DEBUG _CONSOLE HAVE_INT8_T=1 CPPCON_PUBLIC_FUNC=
  • 也许,我期望找到的东西并不存在。阅读您的编辑后,作业是否带有任何 DLL,或者只是标题和库?你安装了所有需要的东西吗?
  • 它带有很多文件夹和文件,但特别是在库中:它带有 4 个文件。我被告知要使用的两个 .lib 文件(libmysql.lib 和 mysqlcppcon-static.lib)。还包括两个我没有被告知使用的 .dll 文件(libmysql.dll 和 mysqlcppcon.dll)。我仔细地完成了这些步骤,没有提到任何 dll。除此之外还有一些sql相关的头文件。
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多