PostgreSQL错误:程序无法启动,因为您的计算机缺少libpq.dll

时间:2013-12-05 22:25:34

标签: c visual-studio postgresql

我正在使用Visual Studio 2010在C中构建一个可以在PostgreSQL数据库上运行的程序。

VS中的一切都很好,没有编译错误,一切看起来都不错。

当我点击调试并运行时,代码会编译,但后来我弹出一个说:

The program can't start because libpq.dll is missing from your computer

我安装了PostgreSQL并将包含所有必要文件的文件夹添加到我的includelinker路径中,但无济于事。 我无法弄清楚为什么我仍然收到这条消息?

有什么建议吗?

2 个答案:

答案 0 :(得分:8)

答案非常简单。

您看到的问题来自已编译的应用程序无法找到PostgreSQL库。 libpq.lib用于编译应用程序,并在运行时链接到DLL。您可以将其添加到系统范围的路径中,也可以将DLL与应用程序捆绑在一起。 (我将它添加到开发机器上,并将可再发行组件的可再发行组件捆绑在一起。)

要将其包含在路径中,请尝试:

  1. 右键单击“我的电脑”,然后选择属性
  2. 然后点击“高级系统设置”。
  3. 单击对话框底部的“环境变量”按钮。
  4. 将弹出一个对话框,其中包含标有“系统变量”的组框。在列表框中找到变量名称为“Path”的那个。
  5. 现在,将PostgreSQL库文件夹的路径添加到带有“;”的路径中分隔器。
  6. 现在注销或重启。您至少要退出Windows并重新登录以使Visual Studio调试器获取其他可执行模块路径(该路径变量),这是命令式。理想情况下,重新引导会在引导时将新系统路径发送到系统中的所有应用程序。
  7. 如果Path变量中包含“C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem”,则需要添加“; C:\ Program Files \ PostgreSQL \ libraries”来制作它看起来像“C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Program Files \ PostgreSQL \ libraries”。

    请注意,在大多数情况下,您的路径确实很长。只需将其添加到最后。

    祝你好运!

答案 1 :(得分:0)

我有64位Win10,这对我有用。

获取HeidiSQL的可移植版本并将libpg.dll从存档复制到计算机上的HeidiSQL安装文件夹中。

像魅力一样。