为什么当我只使用静态.lib时,Windows会告诉我找不到.dll文件
Why does Windows tell me that .dll file is not found when I just use the static .lib?
我想我有一个理解问题,如果有人最终向我解释,我会很高兴…
我正在开发一个Win32应用程序(.exe(,它使用我自己的静态库(.lib(。该库依赖于另一个静态库(实际上是Windows的libxml2(。
我做了什么:
- 我将libxml-include目录添加到了我的.lib项目"VC++目录"->"包含目录"中
- 我构建了我的lib,构建成功了,.lib文件出现在我的Output文件夹中
- 我创建了一个控制台应用程序项目,并编写了一些使用.lib函数的代码(这些函数反过来又使用libxml函数(。我的lib项目是使用"Framework and References"->"Add New reference"作为引用添加到应用程序项目中的
- 我试图构建应用程序,但遇到了链接器错误-这没关系,因为我忘记了通过"链接器"->"输入"->"附加依赖项"将libxml2.lib添加到我的应用程序中。因此,我将libxml2.lib添加到依赖项中,并将其路径添加到"VC++目录"->"库目录"。我重新构建了应用程序,并且构建成功。但是当我尝试启动.exe时,会出现一个错误。上面写着:"由于libxml2.dll,应用程序无法启动。重新安装应用程序可能会修复一些问题">
那么,为什么我的.exe需要libxml2.dll呢?我只想将libxml2用作一个静态库。所有实验都是使用调试配置设置完成的。
库的DLL版本的库路径似乎出现在静态库版本之前。
相关文章:
- 我看到"use of undeclared identifier"错误,有人可以告诉我如何解决它吗?
- 谁能告诉我我用 getline 做错了什么 (cpp) 格式
- 比特集告诉我的名字是什么?
- 我试图用这段代码找到二叉树的高度,但它一直返回 0,有人可以告诉我为什么吗?
- 任何人都可以告诉我我的 C++ 代码出了什么问题?
- 我可以让 valgrind 告诉我 _哪个_值未初始化吗?
- 程序告诉我,即使它们明显匹配,参数也不匹配
- 谁能告诉我为什么这段代码没有产生正确的输出?
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 为什么 gcc 告诉我我的模板不是模板?
- 代码以查找数组中的最大数字,但它仅将第一个数字显示为最大数字. 有人请告诉我为什么
- 关于这个在 Linux 上使用 gcc 编译的程序中的 vtable,nm 告诉我什么?
- 告诉我如何填充二维数组
- 我找不到瓦尔格林德告诉我的记忆链接
- 如何将char数组声明为函数参数?或告诉我此代码中还有其他问题?
- 合成错误不知道为什么会发生这种情况,请检查一下并告诉我这是我的编码还是视觉工作室
- 将软件移植到 Windows,我在哪里放置 /usr/share 东西?
- 为什么只有一行告诉我操作员=不可行?但是其他人很好
- 有人可以告诉我波纹管代码(C++)穿了什么吗?
- 为什么当我只使用静态.lib时,Windows会告诉我找不到.dll文件