我在 Windows 10 x64 上工作,我安装了 mingw64 和 mingw32。我写了一个C++程序:
#include <stdio.h>
#include <stdlib.h>
extern "C" {
#include <windows.h>
#include <libavcodec/avcodec.h>
#include <libavdevice/avdevice.h>
#include <libavformat/avformat.h>
#include <libavformat/avio.h>
#include <libavutil/audio_fifo.h>
#include <libavutil/imgutils.h>
#include <libavutil/opt.h>
#include <libavutil/frame.h>
#include <libavutil/time.h>
#include <libavutil/timestamp.h>
#include <libavutil/macros.h>
#include <libavfilter/avfilter.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libswresample/swresample.h>
#include <libswscale/swscale.h>
}
int main(int argc, char** argv)
{
printf("hello world\n");
avformat_network_init();
avdevice_register_all();
return 0;
}
当我在 mingw64 中使用 G++ 编译这些代码时,它运行良好。但是在mingw32中,我使用相同的命令编译,它无法运行,甚至无法打印
hello world
。我使用命令:
g++ -g t.cpp -lavformt -lavdevice