我尝试使用Visual Studio 2015编译FreeImage v3.17.0库来获取静态库文件,但是存在一些问题。
图书馆包如下:
我使用FreeImage.2013
文件来编译库,编译完成后我发现了这个结果Build: 16 succeeded, 4 failed, 0 up-to-date, 0 skipped
。
FreeImage库本身没有编译,但其他第三方库已编译,但出现错误:Error C1189 #error: Macro definition of snprintf conflicts with Standard Library function declaration ..\include\10.0.10240.0\ucrt\stdio.h
如何解决该问题?
答案 0 :(得分:0)
我发现另一个问题的解决方案类似于我的问题但是在另一个主题中。 Take a look。
解释问题:
到目前为止,许多图书馆和程序都使用
snprintf()
功能 将其定义为_snprintf()
,因为支持_snprintf()
。#define snprintf _snprintf
snprintf()
在2015年视觉工作室(v140)中得到认可。所以,snprintf()
现在得到官方支持,我们永远不应该定义它 这样做会掩盖stdio.h中定义的新snprintf()
函数。
解决方案:
在所有项目文件中搜索此行#define snprintf _snprintf
并将其作为注释(将//
放在行的开头)。
一个例子: