C++ Ffmpeg头不在windows中编译
我试图在windows下链接到ffmpeg,但遇到了困难。包含ffmpeg头会导致数百个编译错误,我无法轻松修复这些错误 1) timestamp.h使用snprintf而不是_snprintf。我尝试将其添加为宏,如下所示:C++ Ffmpeg头不在windows中编译,c++,c,windows,ffmpeg,C++,C,Windows,Ffmpeg,我试图在windows下链接到ffmpeg,但遇到了困难。包含ffmpeg头会导致数百个编译错误,我无法轻松修复这些错误 1) timestamp.h使用snprintf而不是_snprintf。我尝试将其添加为宏,如下所示: 标识符“PRId64”这是打字错误吗?你说的是“snprintf”(“n”,而不是“m”) 即使如此,timestamp.h可能会重新定义它或包含这样做的内容。这是打字错误吗?你说的是“snprintf”(“n”,而不是“m”) 即使这样,timestamp.h也可能会重
标识符“PRId64”这是打字错误吗?你说的是“snprintf”(“n”,而不是“m”)
即使如此,timestamp.h可能会重新定义它或包含这样做的内容。这是打字错误吗?你说的是“snprintf”(“n”,而不是“m”)
即使这样,timestamp.h也可能会重新定义它或包含这样做的内容。您确实将它们包含到了
外部“C”中,对吗
extern "C" {
#include <libavutil/imgutils.h>
#include <libavcodec/avcodec.h>
#include <libswscale/swscale.h>
}
extern“C”{
#包括
#包括
#包括
}
您确实将它们包含到了外部“C”
中,对吗
extern "C" {
#include <libavutil/imgutils.h>
#include <libavcodec/avcodec.h>
#include <libswscale/swscale.h>
}
extern“C”{
#包括
#包括
#包括
}
这几乎肯定是问题所在。OP似乎正在编写C++,而不知道FFMPEG是C.yes,我确实包含了它们。另外,在ffmpeg名称空间中。为了清楚起见,我将对此提出质疑。这几乎肯定是问题所在。OP似乎正在编写C++,而不知道FFMPEG是C.yes,我确实包含了它们。另外,在ffmpeg名称空间中。为了清楚起见,我将对它提出质疑。也许你应该尝试使用#if(u WIN32
)而不是我以前从未见过的Q#OS_WIN
宏。好吧,因为它表示包含Qt头(至少是QtGlobal),将其替换为非框架特定的变量是有意义的。也许您应该尝试使用#if(u WIN32
)而不是我以前从未见过的Q#OS_WIN
宏。好吧,因为它声明包含Qt头(至少是QtGlobal),所以将其替换为非框架特定的变量是有意义的。
#define smprintf _snprintf
extern "C" {
#include <libavutil/imgutils.h>
#include <libavcodec/avcodec.h>
#include <libswscale/swscale.h>
}