如何链接C包以便在程序中使用它们?

时间:2015-11-10 03:00:54

标签: c dll package mingw

我在 Windows 10 上使用带有 MinGW 编译器的Netbeans。我已经下载了名为libjpg的库的源文件,但我无法在互联网上的任何地方找到有关如何链接C包的具体步骤,以便您可以使用它们。

我知道在linux中你可以用它来构建它......

./configure
make
make install

如何使用包含源文件的Windows执行此操作?

1 个答案:

答案 0 :(得分:1)

C本身无法做到这一点; C是在包装是常见的事情之前创建的。

请注意,./configuremakemake install系统与完全无关到C,除了它经常用于用C编写的程序。

通常,您需要告诉编译器在库中查找包含文件,并且需要告诉链接器将库包含在最终程序中。大多数构建系统同时执行许多其他操作,但这些是必需品。这样做的方法取决于编译器 - 我看到你正在使用MinGW(GCC的一个端口)。

使用GCC编译程序时,需要添加-I(这是“include”的大写“i”),然后是应该查找包含文件的路径。在库中查找包含文件的文件夹。假设它位于当前目录中的libjpg/include,然后您将添加-Ilibjpg/include。 (我假设你已经知道绝对路径和相对路径是如何工作的)

当您链接您的程序时(可能使用编译它的相同命令,取决于您的操作方式),您需要使用-L - 它的工作方式与-I类似,但对于库文件(.a和/或.so文件)。您还需要使用-l(“库”的小写“l”)来告诉它实际使用该库。在-l之后,您放置了库的名称,而开头没有lib且没有扩展名,所以如果它是libjpg.so,那么您将使用选项-ljpg。< / p>

安装软件包会将包含文件和库文件放在常用位置,这样您就不需要使用-I-L。如果你愿意,你可以自己做,即使包实际上没有安装程序。我不确定MinGW的“通常位置”是什么。