🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

Q&A

解決済

1回答

5294閲覧

ffmpegのAPIを使ったソースのコンパイル

TarouMos

総合スコア21

GCC

GCCはGNU Compiler Collectionの略です。LinuxのC言語コンパイラのデファクトスタンダードであり、数多くの他言語やプラットフォームサポートもします。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

0グッド

1クリップ

投稿2019/10/03 09:20

現在、ffmpegのAPIを使ったプログラムを書こうと思っています。

まず、手始めに簡単なものを作ろと
include宣言したしたソースをコンパイルしてみたのですが
libavcodec/avcodec.hが無いというエラーメッセージが出てしまいます。

コンパイルの仕方が間違っているのでしょうか?

ご教示お願いします。

compile

1gcc -o main main.cpp

error

1main.cpp:5:32: 致命的エラー: libavcodec/avcodec.h: そのようなファイルやディレクトリはありません 2 #include <libavcodec/avcodec.h> 3 ^ 4コンパイルを停止しました。

C++

1#include <string.h> 2#include <stdio.h> 3 4extern "C"{ 5#include <libavcodec/avcodec.h> 6#include <libavutil/imgutils.h> 7#include <libavformat/avformat.h> 8#include <libswscale/swscale.h> 9} 10#pragma comment(lib, "avutil.lib") 11#pragma comment(lib, "avcodec.lib") 12#pragma comment(lib, "avformat.lib") 13 14int main(int argc, char* argv[]) 15{ 16 printf( "Hello, Worldi¥n" ); 17 18}

環境

centos

1CentOS Linux release 7.7.1908 (Core)

gcc

1$ gcc -v 2組み込み spec を使用しています。 3COLLECT_GCC=gcc 4COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper 5ターゲット: x86_64-redhat-linux 6configure 設定: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux 7スレッドモデル: posix 8gcc バージョン 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) 9

ffmpegは、yum を使ってインストールしました。

ffmpeg

1$ ffmpeg -version 2ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers 3built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36) 4configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect 5libavutil 54. 31.100 / 54. 31.100 6libavcodec 56. 60.100 / 56. 60.100 7libavformat 56. 40.101 / 56. 40.101 8libavdevice 56. 4.100 / 56. 4.100 9libavfilter 5. 40.101 / 5. 40.101 10libavresample 2. 1. 0 / 2. 1. 0 11libswscale 3. 1.101 / 3. 1.101 12libswresample 1. 2.101 / 1. 2.101 13libpostproc 53. 3.100 / 53. 3.100

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

libavcodec-develというrpmの中にlibavcodec/avcodec.hというファイルがあると思います。
rpmコマンドでインストールしているか確認を確認してみてください。
rpm -qa | grep libavcodec-develとして既にインストール後であれば該当するrpmが表示されます。

表示されていなければyumでlibavcodec-develをインストールしてから、御自身のプログラムのコンパイルをお試しください。

投稿2019/10/03 09:35

yut148

総合スコア752

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TarouMos

2019/10/09 10:58

お返事が遅くなり、すみません。 無事に、コンパイルすることができましたできました。 ありがとうございました。
yut148

2019/10/10 01:44

一助となり幸いです。手元に環境がないので、推測が正しかった事がわかりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問