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

问题描述 投票:3回答:2

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

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

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

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

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

有什么建议?

c visual-studio postgresql
2个回答
8
投票

答案非常简单。

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

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

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

如果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”。

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

祝好运!


0
投票

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

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

奇迹般有效。

© www.soinside.com 2019 - 2024. All rights reserved.