User Tools

Site Tools


build:devel_2.6_msvc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
build:devel_2.6_msvc [2018/01/01 12:08]
mean created
build:devel_2.6_msvc [2018/01/01 12:28]
mean
Line 1: Line 1:
-====== Writing your own plugins, ​CLI and Netbeans Setup (Windows) ​======+====== Writing your own plugins, ​Visual C++ 2015 or 2017 ======
  
 You dont need to compile avidemux yourself to write your  own plugins.\\ You dont need to compile avidemux yourself to write your  own plugins.\\
 What you need is : What you need is :
-  * Avidemux installed on your system +  * Avidemux installed on your system ​, the version built with visual c++ 
-  * SDK component activated +  * CMake > 3.x  
-  * CMake > 3.x and mingw64-32 or 64 installed [[https://​cmake.org/​download/​|CMake]] +  * Optionnaly MSys installed, it's just simpler 
-  * Msys2 installed ​[[https://​sourceforge.net/​p/​msys2/​wiki/​MSYS2%20installation/​|MSYS]] +  * Visual c++ 2015 or 2017, Community edition is fine 
-  * Mingw64 installed [[http://​mingw-w64.org/​doku.php/​download/​mingw-builds|MinGW64]] +  * A demo/sample video filter, available here {{ :build:videofilterdemo_2.7.zip |}}
-  * A demo/sample video filter, available here {{ :build:videofilter.zip |}}+
  
-== SDK === 
-Make sure you have selected the SDK component during install 
- 
-{{:​build:​sdk1r.png?​200|}} 
- 
-== Msys2 and Mingw64 setup === 
- 
-{{:​build:​mingw64_setup.png?​200|}} 
- 
-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 == == Cmake ==
Line 30: Line 18:
 ---- ----
  
-====== ​Cli : Compile the sample using MSYS2/​MinGW ​======+====== ​Let's go ======
  
-It is best to start here to make sure you have working environment+Start command prompt 
 +Call the vcvars64.bat from visual c++ binary dir, that will set up things 
 +Then start msys bash.exe shell
  
-Start a MSYS2 shell, go where you unzipped ​the demo code (i.e. c:​\tmp\videoFilterDemo for example )\\ +Go to the source folder of the demo and create the sln file 
-Create a build folder +  ​mkdir ​build 
-   mkdir build && ​cd build +  cd build 
-then generate the makefile +  cmake  -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX="​c:​/Program Files/Avidemux 2.64bits" ​ ​-DVERBOSE=True -DCMAKE_BUILD_TYPE=Release ​..
-   cmake -G "MSYS Makefiles" ​-DCMAKE_MAKE_PROGRAM=mingw32-make ​-DCMAKE_INSTALL_PREFIX="​c:​\Program Files\Avidemux 2.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 ​:+Look for error, it should go without ​problem.
  
-  * If you have error undefined symbol _imp_xxxxstdcxx11xxxxbasic_stringxxx when compiling ​add one line at the very top of CMakeLists.txt +If you dont want to use visual C++ ide you can just 
-   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+  ​cmake --build ​. --target INSTALL
  
-Do the fixes aboveerase the build folder (build/*) and do it all over again (it takes 5 sec)+If you want ot use the visual C++ ideyou can also load the generated .sln into visual c++
  
 +When the build is over, either copy the resulting dll file into the plugin subfolder of avidemux install or, alternatively,​ run the install target in Visual C++
  
----- +**Important/Common problem**
-====== Using Netbeans ====== +
- +
-You'll need the same requirement as above (i.e. cmake, msys,​...)\\ +
-You *MUSTadd msys make, mingw make will not work with netbeans\\ +
-Open a msys2 shell, and enter\\ +
-   ​pacman -S make   +
-    +
- +
-== Configure Netbeans == +
- +
- +
-There are two parts : +
-  * Configure the toolchain +
-  * Configure the project +
- +
-The toolchain should be configured as follow :\\ +
-{{:​build:​netbeans_toolchain.png?​200|Toolchain}}\\ +
-The important part is to select the make from msys64/usr/bin +
- +
- +
-Everything is coming from msys, the screenshot is a bit old +
- +
-Last step is to setup the project :\\  +
-{{:​build:​netbeans_project1.png?​200|Step 1}} \\ +
-{{:​build:​nb_2.png?​200| Step2}} \\ +
-{{:​build:​nb_5.png?​200|Step 3}} \\ +
- +
-The important part are : +
-  ​At step2 select custom +
-  ​At step3, add \\ +
- +
- +
- -G "MSYS Makefiles"​ -DCMAKE_INSTALL_PREFIX="​c:/​Program Files/​Avidemux 2.6 - 64 bits""​ +
- +
-Note that the path separator are "/"​ and not "​\"​!+
  
-{{:​build:​sdk_netbeans_cmake_option.png?​200|}} 
  
-You can build the sample now.+You cannot mix binaries built with Visual C++ and built with Mingw/g++ 
 +It will *NOT* work. Don't even try.
  
-In case you made a mistake, dont forget to delete the CMakeCache.txt file before retrying 
  
        
build/devel_2.6_msvc.txt · Last modified: 2018/01/01 12:29 by mean