xuekang99 / xuggle

Automatically exported from code.google.com/p/xuggle
0 stars 0 forks source link

URLProtocolManager.h patch submission for Windows #289

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Attemping to build the latest xuggler 5.0 from GIT (2012-02-12), I ran into a 
problem linking. The fix I found required modifications to the 
URLProtocolManager.h file, specifically to export the findHandler method. 
Changes were:

1) Include the io header file
#include <com/xuggle/xuggler/io/io.h>

2) Export the method using the macro from io.h
VS_API_XUGGLER_IO static URLProtocolHandler* findHandler(const char* url,

The error was discovered while attempting to build Xuggler latest from the GIT 
repo (2012-02-12).

System configuration:

Windows 7
MinGW 32bit (using msys)
configure --disable-captives

FFMPEG version 0.10 build
SDL 1.2
./configure --enable-shared --enable-w32threads

What steps will reproduce the problem?
1. Build xuggler on windows 7, 32bit using mingw and visual studio

Result, failing linking libxuggle-xuggler with libxuggle-xuggler-io:

Creating library file: .libs/libxuggle-xuggler.dll.a 
.libs/Container.o: In function 
`ZN3com6xuggle7xuggler9Container4openEPKcNS1_10IContainer4TypeEPNS1_16ICont 
ainerFormatEbbPNS1_9IMetaDataESA_': 
r:\dev\sandbox\xuggle-xuggler\xuggleBuild\csrc\com\xuggle 
\xuggler/../../../../../csrc/com/xuggle/xuggler/Container.cpp:242: 
undefined reference to 
`com::xuggle::xuggler::io::URLProtocolManager::findHandler(char 
const*, int, c 
om::xuggle::xuggler::io::URLProtocolManager*)' 
collect2: ld returned 1 exit status 
make[6]: *** [libxuggle-xuggler.la] Error 1 
make[6]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc/com/xuggle/xuggler' 
make[5]: *** [all-recursive] Error 1 
make[5]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc/com/xuggle/xuggler' 
make[4]: *** [all] Error 2 
make[4]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc/com/xuggle/xuggler' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc/com/xuggle' 
make[2]: *** [all-recursive] Error 1 
make[2]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc/com' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/r/dev/sandbox/xuggle-xuggler/xuggleBuild/ 
csrc' 
make: *** [all-recursive] Error 1 

Attached is the modified URLProtocolManager.h

Original issue reported on code.google.com by timhy...@gmail.com on 14 Feb 2012 at 4:46

Attachments:

GoogleCodeExporter commented 9 years ago
Fixed in 5.3

Original comment by art.cla...@gmail.com on 7 Apr 2012 at 5:43