User Tools

Site Tools


build:devel_2.6_msvc

This is an old revision of the document!


Writing your own plugins, Visual C++ 2015 or 2017

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
  • Optionnaly MSys installed, it's just simpler
  • Visual c++ 2015 or 2017, Community edition is fine
  • A demo/sample video filter, available here videofilter.zip
SDK

Make sure you have selected the SDK component during install

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.7 - 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

Alternatively, run the install target in Visual C++

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)

build/devel_2.6_msvc.1514805059.txt.gz · Last modified: 2018/01/01 12:10 by mean