无法解析符号 otl_connect(otl_connect 类不包括)

Posted

技术标签:

【中文标题】无法解析符号 otl_connect(otl_connect 类不包括)【英文标题】:Cannot resolve Symbol otl_connect (otl_connect class not including) 【发布时间】:2017-12-06 12:19:17 【问题描述】:

我一直在尝试使用 OTL_ODBC 连接到 mysql。我在我的 Visual Studio 2010 项目中包含了 OTL 头文件 (otlv4.h),但是当我尝试使用 otl_connect 时,它显示错误“无法解析符号 otl_connect”,并且 otl_connect 类显示为红色:

我可以知道我哪里做错了吗?

#define OTL_ODBC
#include "otlv4.h"
int main(int argc, char* argv[])

  otl_connect db;

【问题讨论】:

包含标题是不够的。您还需要链接到库。这已被多次询问和回答,但规范重复是What is an undefined reference/unresolved external symbol error and how do I fix it? 真的很抱歉,但它不是链接错误,otl_connect 本身以颜色显示为 RED,这意味着类 otl_connect 不存在。 好吧,那么你需要写出更好的问题。 :P 标题显示“未解析的外部符号”,表示链接器错误。如果那不是您的问题,请不要将其作为您的标题。如果您的问题是 IDE 中的语法警告,请在帖子中说明,否则人们可能会认为这是编译器错误 哦,很抱歉,这是我的第二篇文章,我不会再犯错了:D 由于 OP 清楚地描述了标题中的 linking 错误,但谈到了他们的 cmets 中的编译错误,我已投票决定关闭此问题。 【参考方案1】:

otl_connect 在命名空间odbc 内。试试odbc::otl_connect

【讨论】:

它也没有解决它。在其他所有教程中,它都被写成 otl_connect,我不知道为什么它不起作用【参考方案2】:

我今天也一样。解决方案是将#include "otlv4.h" 放在 #define OTL_ODBC_MSSQL_2008 之后。

【讨论】:

以上是关于无法解析符号 otl_connect(otl_connect 类不包括)的主要内容,如果未能解决你的问题,请参考以下文章

无法解析的外部符号 C++

无法解析的外部符号

ACE编程,无法解析外部符号

error LNK2001: 无法解析的外部符号

error LNK2019: 无法解析的外部符号

C++无法解析的外部符号