C++ 在代码块中使用第三方库(c+;+;项目)

C++ 在代码块中使用第三方库(c+;+;项目),c++,c++11,C++,C++11,我试图在我的cpp项目中使用第三方allegro库。我对这个过程有一些疑问。因此,我必须在我的C:windows文件夹中放置三个.dll,然后还要链接libalge.a和include。有人能从概念上给我解释一下这里发生了什么吗?我猜想.dll将用于获取cpp文件代码和包含的头文件。那么为什么Libalge.a也需要链接呢。 此外,我必须将文件(include和lib目录)放在代码块的mingw目录中。为什么需要这样做 不,DLL和a文件与cpp文件无关(尽管它们是用它们编译的)。那么DLL和.

我试图在我的cpp项目中使用第三方allegro库。我对这个过程有一些疑问。因此,我必须在我的C:windows文件夹中放置三个.dll,然后还要链接libalge.a和include。有人能从概念上给我解释一下这里发生了什么吗?我猜想.dll将用于获取cpp文件代码和包含的头文件。那么为什么Libalge.a也需要链接呢。
此外,我必须将文件(include和lib目录)放在代码块的mingw目录中。为什么需要这样做

不,DLL和a文件与cpp文件无关(尽管它们是用它们编译的)。那么DLL和.a文件的用途是什么呢?这个库的作者编写代码(函数、类等)。然后他想分发这个。但是这个库可能很大(或者作者不想让每个人都知道源代码)。所以他建立了一个.dll或.a文件。下载此文件和头文件,将其包含到项目中,然后将其与库链接。因此,您不需要一遍又一遍地重新编译这个(可能是非常大的)库。这就是目的之一,我知道的很多。使用allegro,我将DLL放在C:windows文件夹中,但也链接到了linalleg.a(.a文件),我想知道为什么两者都需要这样做。不,DLL和a文件与cpp文件无关(尽管它们是从cpp文件编译而来的)。那么DLL和.a文件在这里的用途是什么?这个库的作者编写代码(函数、类等)。然后他想分发这个。但是这个库可能很大(或者作者不想让每个人都知道源代码)。所以他建立了一个.dll或.a文件。下载此文件和头文件,将其包含到项目中,然后将其与库链接。因此,您不需要一遍又一遍地重新编译这个(可能是非常大的)库。这就是目的之一,我知道的很多。使用allegro,我将DLL放在C:windows文件夹中,但也链接到linalleg.a(.a文件),我想知道为什么需要同时完成这两项工作。