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
Next 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:12]
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:​videofilter.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 20:
 ---- ----
  
-====== ​Cli : Compile ​the sample using MSYS2/​MinGW ​======+====== Compile ​it ======
  
 It is best to start here to make sure you have a working environment It is best to start here to make sure you have a working environment
Line 38: Line 28:
    mkdir build && cd build    mkdir build && cd build
 then generate the makefile then generate the makefile
-   cmake -G "MSYS Makefiles"​ -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_INSTALL_PREFIX="​c:​\Program Files\Avidemux 2.- 64 bits" ..+   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__ __The CMAKE_INSTALL_PREFIX should point to the place where avidemux is__
Line 47: Line 37:
 Start avidemux and you should see a logo_sample filter in the menu list 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 :+Alternatively,​ run the install target in Visual ​C++
  
-  ​If you have error undefined symbol _imp_xxxxstdcxx11xxxxbasic_stringxxx when compiling , add one line at the very top of CMakeLists.txt +**Important/Common problem**
-   ​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 ====== +
- +
-You'll need the same requirement as above (i.e. cmake, msys,​...)\\ +
-You *MUST* add 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