我正在使用SFML,在Code::Blocks和mingw32中构建应用程序。我已经将SFML库(sfml-whatever.a)添加到我的项目中,并且它可以很好地运行。
但是,据我所知,静态库会“编译”到可执行文件中。如果是这样的话,为什么我必须把所有的SFML DLL放在可执行文件旁边,才能在Code::Blocks之外的任何地方运行它呢?如果我从Code::Blocks中以某种方式“动态链接”DLL到我的项目中(我不知道如何做),那么我是否仍然需要将所有的.a文件与可执行文件一起提供才能使其正常运行?
提前感谢您的帮助,我对库、静态或动态并不十分熟悉。如果有任何区别,我正在Ubuntu Linux上工作,并且我正在使用mingw32进行交叉编译。
但是,据我所知,静态库会“编译”到可执行文件中。如果是这样的话,为什么我必须把所有的SFML DLL放在可执行文件旁边,才能在Code::Blocks之外的任何地方运行它呢?如果我从Code::Blocks中以某种方式“动态链接”DLL到我的项目中(我不知道如何做),那么我是否仍然需要将所有的.a文件与可执行文件一起提供才能使其正常运行?
提前感谢您的帮助,我对库、静态或动态并不十分熟悉。如果有任何区别,我正在Ubuntu Linux上工作,并且我正在使用mingw32进行交叉编译。