User Tools

Site Tools


build:devel_2.6

This is an old revision of the document!


Writing your own plugins, CLI and Netbeans Setup (Windows)

You dont need to compile avidemux yourself to write your own plugins.
What you need is :

  • Avidemux installed on your system
  • SDK component activated
  • CMake > 3.x and mingw64-32 or 64 installed CMake
  • Msys2 installed MSYS
  • Mingw64 installed MinGW64
  • A demo/sample video filter, available here videofilter.zip
SDK

Make sure you have selected the SDK component during install

Msys2 and Mingw64 setup

It is a good idea to use a short path, i.e. c:\MingW64 and c:\msys64 Make sure you have them both in your path (i.e. c:\Mingw64\mingw64\bin and c:\msys64\usr\bin)

Cmake

You will need to install cmake version 3.x
Make sure the cmake “bin” folder is in your path


Cli : Compile the sample using MSYS2/MinGW

It is best to start here to make sure you have a working environment

Start a MSYS2 shell, go where you unzipped the demo code (i.e. c:\tmp\videoFilterDemo for example )
Create a build folder

 mkdir build && cd build

then generate the makefile

 cmake -G "MSYS Makefiles" -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_INSTALL_PREFIX="c:\Program Files\Avidemux 2.6 - 64 bits" ..
 

The CMAKE_INSTALL_PREFIX should point to the place where avidemux is

Look for error, it should go without problem.

 make

Upon success, copy the dll in c:\Program Files\Avidemux 2.6 - 64 bits\plugins\videoFilters\
Start avidemux and you should see a logo_sample filter in the menu list

Important/Common problem


If the C++ library used by mingw is more recent than the one used by avidemux itself you'll run into two problem :

  • If you have error undefined symbol _imp_xxxxstdcxx11xxxxbasic_stringxxx when compiling , add one line at the very top of CMakeLists.txt

ADD_DEFINITIONS(-D_GLIBCXX_USE_CXX11_ABI=0)

  • If you have error at startup “Cannot locate xyz in libsdtc+++”, Overwrite the libstdc++-6.dll in the avidemux folder with the one from mingw, e.g. c:\Mingw64\mingw64\bin\libstdc++-6.dll

Do the fixes above, erase the build folder (build/*) and do it all over again (it takes 5 sec)


Using Netbeans

THIS IS INCOMPLETE , PLEASE USE THE CLI VERSION FOR THE MOMENT

You'll need the same requirement as above (i.e. cmake, msys,…)

Configure Netbeans

There are two parts :

  • Configure the toolchain
  • Configure the project

The toolchain should be configured as follow :

 Toolchain

Everything is coming from msys, the screenshot is a bit old

Last step is to setup the project :

  • Point it to the CMakelists.txt
  • The only modified part is to set the CMAKE_INSTALL_PREFIX to avidemux folder (i.e. c:/Program Files/Avidemux 2.6 - 64 bits)

You can build the sample now.

build/devel_2.6.1473429710.txt.gz · Last modified: 2016/09/09 16:01 by mean