是的,我已经能够在几个 Visual Studio 版本上静态链接 FreeImage。在这里,我描述了我通常如何做到这一点。
使用 FreeImage,默认情况下,我们有 8 个选项将其链接到您的应用程序:
FreeImage - 动态链接(您将需要 dll)。
FreeImageLib - 静态链接。
这些中的每一个都可以使用“调试”或“发布”配置构建,并且适用于 Win32 或 Win64 平台。
因此,假设我们的应用需要 ( Static && Win32 && Debug ) 和 ( Static && Win32 && Release ) 变体。同样在我们的应用程序中,我们使用动态运行时库(默认情况下,出于某种原因,FreeImage 设置为静态)我们通常是如何得到它的:
下载并解压新版本(或至少清理旧的 distib)
FreeImage.2008.sln按住 Shift 并单击打开选择 10 个项目中的所有项目。然后在“Project(s) Properties / C++ / Code generation”中,我们为“Debug”配置选择 /MDd,为“Release”选择 /MD。
然后我们进入“Menu / Build / Batch build”,选择:
FreeImageLib | Debug | Win32
FreeImageLib | Release | Win32
并按“构建”。
等待构建的选定配置。我们需要的所有内容都将复制到FreeImage\Dist文件夹中
在FreeImage\Dist文件夹检查文件中:
delete.me
FreeImage.h
FreeImage.lib
FreeImaged.lib
检查创建日期和时间。它必须是新鲜出炉的和热的。如果没有,请从FreeImage\Source\FreeImageLib\Debug和复制它们FreeImage\Source\FreeImageLib\Release。
- 在主要应用程序中添加到包含和库
FreeImage\Dist并链接FreeImaged.lib到调试配置和FreeImage.lib发布。
包含在源文件中:
#define FREEIMAGE_LIB
#include "FreeImage.h"
试着打电话
FreeImage_Initialise();
FreeImage_DeInitialise();
它应该工作
快乐编码!