c++ - Compiling FFmpeg with Libass using MSVC -


first bit of background.

i'm trying compile ffmpeg on windows libass extensions/configuration option.

using visual studio project libass-msvc built libass using visual studio static lib.

i installed mingw msys , pkg-config. following instructions on ffmpeg msvc installation guide configured environment build msvc linker , build in x64.

when try configure libass compilation using ./configure --enable-libass --toolchain=msvc following error in log file:

file not found ass/ass.h pkg-config can not find libass 

i have tried following fix this.

  1. create .pc file libass , add pkg_config_path environment variable. see file content below. (after doing pkg-config libass --version prints 0.81, not right version number @ least something.)

  2. copy libass .h files mingw/include/ass folder , .lib file mingw/libs folder.

  3. add libass include , bin folders path environment variable

  4. download libass , dependencies source try build using msys msvc compiler. aim here able use "make install" , let mingw install libass correct locations. after hours of trying fix linker errors, abandoned idea of libass dependencies make files work gcc gnu compiler.

  5. compile libass gcc gnu using mingw make/make install try , install libass using gnu libs. again led linker errors (i know bad idea worth try).

  6. tried using lib , include build configuration options --extra-cflags="ffmpeg-dir/extra/include" \ --extra-ldflags="ffmped-dir/extra/ffmpeg_build/lib" adding libs , .h files locations

.pc file

libass.pc: prefix=/mingw includedir=libass-directory/include libdir=libass-director/x64/bin/  name: libass description: libass project version: 0.13.7 

i stuck , out of ideas if give insight or suggestions i'm doing wrong fantastic.

thanks in advanced!

update

i created include , libdir environment path variable containing libass paths. correctly includes libass. however, following linker error function check_ass_library_init.

check_func_headers ass/ass.h ass_library_init check_ld cc check_cc begin ./ffconf.rzmyfwdc/test.c  1         #include <ass/ass.h>  2         #include <stdint.h>  3         long check_ass_library_init(void) { return (long)             ass_library_init; } 4         int main(void) { int ret = 0; 5         ret |= ((intptr_t)check_ass_library_init) & 0xffff; 6         return ret; }           end ./ffconf.rzmyfwdc/test.c cl -d_isoc99_source -d_file_offset_bits=64 -d_largefile_source - d_use_math_defines -d_crt_secure_no_warnings -d_crt_nonstdc_no_warnings - d_win32_winnt=0x0502 -nologo -c -fo./ffconf.rzmyfwdc/test.o  ./ffconf.rzmyfwdc/test.c test.c ./ffconf.rzmyfwdc/test.c(3): warning c4311: 'type cast': pointer truncation  'ass_library *(__cdecl *)(void)' 'long' ./compat/windows/mslink -nologo -out:./ffconf.rzmyfwdc/test.exe  ./ffconf.rzmyfwdc/test.o psapi.lib advapi32.lib shell32.lib ole32.lib test.o : error lnk2019: unresolved external symbol ass_library_init  referenced in function check_ass_library_init ./ffconf.rzmyfwdc/test.exe : fatal error lnk1120: 1 unresolved externals error: libass not found using pkg-config 

the libass test project uses ass_library_init compiles fine using same lib files, libs appear fine.

from see line "./compat/windows/mslink -nologo -out:./ffconf.rzmyfwdc/test.exe ./ffconf.rzmyfwdc/test.o psapi.lib advapi32.lib shell32.lib ole32.lib" libass not being passed linker. suspect confiuration file not creating link libass in make file when compiling msvc.

am correct or going compiling in wrong way?


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -