0

我正在试验 ffmpeg 和 Windows RT (ARM)。首先,我在 MinGW/MSYS shell 中运行配置:

./configure --enable-shared --disable-static --toolchain=msvc --extra-cflags="-D_M_ARMM -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE -DWINAPI_FAMILY=WINAPI_FAMILY_APP" --enable-cross-compile --target-os=win32 --arch=win32 --extra-ldflags="-MACHINE:ARM" --arch=arm --cpu=armv7

后跟一个“make”(在同一个 shell 中),它以以下错误结束:

C:\Program Files (x86)\Windows Kits\8.1\include\um\combaseapi.h(1157) : 
error C4013: 'CoCreateInstanceFromApp' undefined; assuming extern returning int
make: *** [libavformat/format.o] Error 2

shell 中的环境变量设置为 ARM Visual Studio 2013。

这个错误是什么意思?有人可以指出我如何解决这个问题的正确方向吗?

问候,

4

1 回答 1

0

确保正确定义了目标 Windows API 的版本。要在基于 Windows 运行时的平台上针对基于 COM 的 API(例如 MediaFoundation),您必须在编译器设置中设置 _WIN32_WINNT=0x0603,然后再包含 . 执行此操作的好地方是 Visual Studio 项目设置:

Visual Studio 项目属性页 C++ 预处理器设置

于 2014-11-07T03:03:41.397 回答