CMD 不能 运行 .exe 并且在代码块中包含外部库 不使用构建选项

CMD cannot run .exe AND including external libraries in Codeblocks Not using build option

我写了一个使用 libpq 连接到 PostgreSQL 数据库的演示。

我试图通过包含

将 C 文件连接到 PostgreSQL
#include <libpq-fe.h>

在我将路径添加到系统变量 I:\Program Files\PostgreSQL\lib 以及 I:\Program Files\PostgreSQL\include 并使用此命令编译之后:

gcc -I "I:\Program Files\PostgreSQL\include" -L "I:\Program Files\PostgreSQL\lib" main.c -lpq -o main 一切都很好,但是当我尝试在 CMD 中执行这个文件时,它引发了三个错误:

    libssl-1_1-x64.dll cannot be found
    libintl-8.dll cannot be found
    libcrypto-1_1-x64.dll cannot be found

但是当我使用 git bash 来做的时候,它工作得很好。 此外,我尝试在 Codeblocks 中更改项目的构建选项,但也失败了。

几天前我在这里发了一个 ,他们建议我查看 path,但我检查了与我相关的内容,现在我不知道如何查看更进一步。

我的 mingw64 安装路径是“D:mingw64”,这些是我的用户变量:

和系统变量:

环境:PostgreSQL 12,Windows10,MinGW64

问题是在它不起作用的情况下,您的 PATH 环境变量不包含包含您的可执行文件所需的共享库文件的目录 I:\Program Files\PostgreSQL\bin

您可以在命令行上使用 SET 仅更改当前会话的环境,但最好永久更改环境变量。

至于 path,我将 I:\Program Files\PostgreSQL\bin 添加到系统变量中,就像@Laurenz Albe 建议的那样。

对于代码块构建问题,我清除了构建选项,并将I:\Program Files\PostgreSQL\includeI:\Program Files\PostgreSQL\lib添加到compiler setting > search directories > compliercompiler setting > search directories > linker,然后就可以了。