【发布时间】:2017-11-11 14:54:23
【问题描述】:
我已经阅读了很多关于并关注每一个的问题,但似乎没有任何效果。
我正在尝试将rdkafka 库包含到我的项目中,但每次运行应用程序时都会得到
程序无法启动,因为您的计算机中缺少 librdkafka.dll。
我可以清楚地看到librdkafka.dll 和librdkafka.lib 存在于同一目录中。我已将包含文件添加到项目中,并且还将librdkafka.lib 添加到链接器部分的附加目录中。该项目构建良好,但在运行时会引发该错误。
有谁知道我该如何解决这个问题?
【问题讨论】:
-
看起来您正在使用静态链接。当你从 VS 开始调试时,当前目录将是你的项目目录(如果我没记错的话)而不是你的可执行文件所在的路径
-
确保 DLL 在DLL search path中可见
-
@Asesh 似乎有效。我将所有 dll 都转储到了根目录中,但是如何更改它以使其在指定目录中查找?
-
打开您的项目属性,然后从左侧窗格中选择
Debugging。现在在右侧窗格中,您应该修改Working Directory -
一个 DLL 存在于它所构建的目录中,就像一个回不来的回旋镖。这是一根棍子。您必须将其复制到与使用它的 EXE 相同的目录中。如果构建 DLL 的项目在同一个解决方案中并且不使用怪异的构建设置,那将是自动的。任何具有 Unix 背景的东西往往都是怪异的。如果它不在正确的位置,那么您必须在 EXE 项目的构建后事件中使用 xcopy /d 以确保您拥有可用的副本。
标签: c++ visual-studio dll