【发布时间】:2014-09-23 22:49:38
【问题描述】:
我正在编写一个依赖于 ODBC 的共享库。我想静态链接 ODBC 库,以便我的库的用户不需要安装 ODBC 库。但是,当我的 dll 被链接时,它似乎是动态链接到 odbc 库而不是静态链接到它(这是使用依赖walker 验证的)。是否可以将库静态链接到 dll 中?
我在 Visual Studio 2010 工作。我使用 #pragma comment(lib, "odbc32.lib") 并验证该库是静态库而不是导入库。还有什么问题?
【问题讨论】:
-
您确定 odbc32.lib 不是导入库吗?
-
Windows 组件通常没有静态库。 ODBC 可能是一个例外,但我不这么认为。当然,Windows 7 SDK 中的
odbc32.lib是一个导入库。您究竟做了什么来验证您正在查看的库是静态库? -
另外,
odbc32.dll首先是可选组件吗?我在我的 Windows 功能控制面板中没有看到任何明显相关的内容......也许所有 Windows 机器都有这个库,所以你不必担心? -
我正在使用
dumpbin /exports "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\odbc32.lib"。难道是dumpbin工具使用不当? -
Harry,关于 odbc 是一个标准组件的好处。你可能是对的。我在链接一些 SQL Server 驱动程序库以与 odbc 一起使用时也遇到了问题,但是,鉴于以前的 cmets,这听起来不是对这些库的正确使用。
标签: c++ c windows visual-studio-2010 dll