如何在 Visual C 中的 MFC 应用程序中包含 ODBC 3.0 版库2010年?

发布于 2024-10-11 21:25:08 字数 815 浏览 6 评论 0原文

  1. 我创建了自己的 ODBC 包装类,它处理来自 C++ Win32 应用程序的 SQL。
  2. 我已将此类复制并添加(如现有)到我的 MFC 应用程序中。

现在,我遇到了与未解析的外部符号(在 Win32 完美运行的应用程序中不存在)相关的可怕链接问题,例如:“

错误 56
错误 LNK2019:函数中引用了无法解析的外部符号 _SQLSetStmtAttr@16 “public: int __thiscall Cosql::ODBCconnect(char *)” (?ODBCconnect@Cosql@@QAEHPAD@Z)

C:\Documents and Settings.........\Cosql.obj ApplicationName “

我怎样才能正确地包含来自
的“sqlext.h”(和“sql.h”) 我的 MFC 应用程序中的 C:\Program Files\Microsoft SDKs\Windows\v7.0A 或更重要的是:如何解析这些外部符号?

我是唯一一个尝试从 MFC 应用程序进行 ODBC 连接并遇到此问题的人吗??? :O

我只知道“SQLSetStmtAttr”函数是仅为 ODBCVER 3.0 及更高版本定义的。出色地 !但是如何在我的 MFC 应用程序中设置 ODBCVER。 ???我不知道。

编辑:我发现 ODBCVER 的定义是:0x0380(所以它是版本 3.8), 所有函数均由以下内容正确定义: sql.h 和 sqlext.h ,

编辑 II:当我使用一些全局变量将所有这些方法(对象)转换为纯函数时,链接错误仍然存​​在!

提前致谢。

  1. I created my own ODBC wrapper class which handles SQL from C++ Win32 application.
  2. I have copied and Added (as existing) this class to my MFC application.

Now I have terrible linking problems with unresolved external symbols (which were NOT present in the Win32 perfectly working app), such as this: "

Error 56
error LNK2019: unresolved external symbol _SQLSetStmtAttr@16 referenced in function
"public: int __thiscall Cosql::ODBCconnect(char *)" (?ODBCconnect@Cosql@@QAEHPAD@Z)

C:\Documents and Settings.........\Cosql.obj ApplicationName
"

How can I PROPERLY include "sqlext.h" (and "sql.h") from
C:\Program Files\Microsoft SDKs\Windows\v7.0A in my MFC application or MORE importantly: How to resolve those external symbols?

Am I the only one trying to ODBC-connect from a MFC app and having this trouble ??? :O

I Just know that "SQLSetStmtAttr" function is there defined only for ODBCVER 3.0 and higher. Well ! But HOW do I set ODBCVER in my MFC app. ??? I have no idea.

EDIT: I figured out that ODBCVER is defined: 0x0380 (so it is ver. 3.8),
all functions are defined correctly by those includes: sql.h and sqlext.h ,

EDIT II: Linking ERROR persists when I convert all those methods (object) into pure functions using some global variables!

Thanx in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帥小哥 2024-10-18 21:25:08

已解决。

解决方案:我从 ODBC 类创建了一个 DLL,然后在我的项目中使用它。
现在它是独立编译的,因此不再限制彼此​​不兼容的环境和编译器设置!

Solved.

Solution: I created a DLL from my ODBC class and then used it in my project.
Now it is compiled independently so it does not restrict each other's INCOMPATIBLE environment and compiler settings anymore!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文