使FreeImage与Visual Studio 2010配合使用
Getting FreeImage to work with Visual Studio 2010
不久前,你们中的一些人建议我使用FreeImage作为C++中图像处理的库。
我现在在让图书馆工作方面遇到了一些麻烦(这里还是相对较新的)。
我试过加载各种vcxproj和sln瓦片,他们给了我一个空白项目。由于没有提供任何安装说明,我放弃了将其作为visual studio解决方案。
接下来,我尝试了一种老式的方法,即使用Makefile编译源代码,然后将"FreeImage/source"添加到链接器中。当我调用FreeImage.h中声明的函数时,IDE不会发出任何危险信号,但在编译过程中,它给了我一堆"错误LNK2019:未解析的外部符号",就好像这些函数不存在一样。我怀疑IDE找不到定义上述函数的.cpp文件,但当我将FreeImage/Source/FreeImage添加到链接器时,我仍然遇到了同样的问题。
现在,当我直接包含一些.cpp文件(即Plugin.cpp和FreeImage.cpp)进行测试时,我会在。。。例如FreeImage.cpp:
const char * DLL_CALLCONV
FreeImage_GetVersion() {
static char s_version[16];
sprintf(s_version, "%d.%d.%d", FREEIMAGE_MAJOR_VERSION, FREEIMAGE_MINOR_VERSION, FREEIMAGE_RELEASE_SERIAL);
return s_version;
}
所以,我完全被卡住了。我做错了什么?我觉得我已经遵循了添加库依赖项的适当步骤,例如在C/C++->General->Additional Included Directories和Linker->General->Add library Directories中添加作为相关.h和.cpp文件的直接父级的特定文件夹。
我们将非常感谢您的帮助!
使用FreeImage v3.15.3,我将VS2008项目转换为VS2010没有问题。这座建筑也如预期的那样运作。但是当我链接到静态库时,我得到了一些未解析的外部。首先,我尝试了各种设置/MT/MD链接的技巧,但这并没有解决这些链接问题。
在阅读了一些新手的评论后,我深入研究了freeimage.h。在那里我发现了一个宏开关freeimage_LIB,它控制函数的调用约定。在包含FREEIMAGE.h文件之前,请使用#define FREIMAGE_LIB。这样,您就可以轻松地静态链接到FreeImage.lib
- 无法在 Visual Studio 2010 中构建 Allegro C++ 程序
- Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的生成工具
- std::array initalization with Visual Studio 2010
- 将代码从 32 位迁移到 64 位时出现问题 Visual Studio 2010
- 在 Visual Studio 2010(及更高版本)中定义包含或链接路径变量的位置
- Visual Studio 2010 单元测试:无法识别引用的项目类
- Visual Studio 2010 - C++ 致命错误 LNK1120: 1 个未解析的外部
- C /FORTRAN项目由Visual Studio 2010/Intel 2013创建,将不会在Visual St
- 如何使 Visual Studio 2010 警告未使用的变量
- 如何解决错误 C2719 在 Visual Studio 2010 C++ 中不存在代码行时
- 按值传递的参数在 Visual Studio 2010, C++ 的调试器中显示为通过引用传递
- Visual Studio 2010 是否执行零初始化
- 无法使用 Visual Studio 2010 和 Qt 版本 4.8.0 创建"Qt Gui Application"
- 如何将Visual studio 2010升级到2015版本
- Visual Studio 2010 调用 _locking() 失败 (errno = 22) 当文件指针高于 (2^
- Qt 4.8 与 Visual Studio 2010 的链接错误
- Visual Studio(整个过程)2010无法升级较旧的解决方案
- OpenSSL on Windows and Visual Studio 2010
- 在Visual Studio 2010中使用大型查找表的链接限制使用代码库的限制
- Visual Studio 2010:致命错误C1189:#Error