Я пытаюсь скомпилировать c программу для windows и Ubuntu, чтобы сделать это, я использую mingw, но кажется, что он не может найти необходимые библиотеки, которые g cc может найти при выполнении этой команды
gcc decode_video.c -o dv -lavcodec -lavutil
Все компилируется нормально, но когда я использую это
x86_64-w64-mingw32-gcc decode_video.c -o dv.exe -lavcodec -lavutil
, он говорит, что заголовочные файлы не найдены
после изменения команды построения на
x86_64-w64-mingw32-gcc decode_video.c -o dv.exe -I /usr/include/x86_64-linux-gnu -L /usr/lib/x86_64-linux-gnu -l avcodec -l avutil
он знает, что дает мне эту ошибку, даже если библиотеки связаны
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x138): undefined reference to `avcodec_send_packet'
/ tmp / ccgn1NTi.o: decode_video. c :(. Text + 0x192): неопределенная ссылка на avcodec_receive_frame'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x33f): undefined reference to
av_packet_allo c '/tmp/ccgn1NTi.o:decode_video.c:(.text+0x37d): неопределенная ссылка на avcodec_find_decoder'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x3d0): undefined reference to
av_parser_init' /tmp/ccgn1NTi.o:decode_video.c:(.text+0x421 ): неопределенная ссылка на avcodec_alloc_context3'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x481): undefined reference to
avcodec_open2 '/tmp/ccgn1NTi.o:decode_video.c:(.text+0x512): неопределенная ссылка на av_frame_alloc'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x5fc): undefined reference to
av_parser_parse2' /tmp/ccgn1NTi.o:decode_video.c :(. text + 0x6f8): неопределенная ссылка на av_parser_close'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x707): undefined reference to
avcodec_free_context '/tmp/ccgn1NTi.o:decode_vide o. c :(. text + 0x716): неопределенная ссылка на av_frame_free'
/tmp/ccgn1NTi.o:decode_video.c:(.text+0x722): undefined reference to
av_packet_free 'collect2: ошибка: ld вернул 1 состояние выхода