vlc 0.8.6svn compilation error with upnp support
Posted: 08 Jul 2006 08:58
I am working on up to date SUSE 10.0, with gcc version :
g++ --v
Utilisation des specs internes.
Target: i586-suse-linux
Configuré avec: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,f95,java,ada --disable-checking --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --without-system-libunwind --host=i586-suse-linux
Modèle de thread: posix
version gcc 4.0.2 20050901 (prerelease) (SUSE Linux)
I got this compilation error for months in upnp support :
upnp_cc.cpp: In function 'int Open(vlc_object_t*)':
upnp_cc.cpp:111: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp:111: erreur: 'playlist_ViewFind' was not declared in this scope
upnp_cc.cpp:113: erreur: invalid use of undefined type 'struct playlist_view_t'
../../include/vlc_common.h:233: erreur: forward declaration of 'struct playlist_view_t'
upnp_cc.cpp: In member function 'playlist_item_t* UPnPHandler::AddDevice(CyberLink::Device*)':
upnp_cc.cpp:230: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp: In member function 'void UPnPHandler::AddContent(playlist_item_t*, CyberLink::ContentNode*)':
upnp_cc.cpp:267: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp:275: erreur: 'VIEW_CATEGORY' was not declared in this scope
I am currently using a patched 1.7.1 cyberlink library which has compiled well with vlc 0.8.5. Here's this small modification on CyberLink/src/cybergarage/xml/XML.cpp :
--- CyberLink/src/cybergarage/xml/XML.cpp.org 1970-01-01 02:02:17.000000000 +0100
+++ CyberLink/src/cybergarage/xml/XML.cpp 2006-07-08 08:52:59.000000000 +0200
@@ -123,7 +123,7 @@
char *cpbuf = strdup(str);
if (cpbuf == NULL)
return NULL;
- const char *inbuf = cpbuf;
+ char *inbuf = cpbuf;
size_t inbyteleft = strlen(str);
size_t outbufSize = inbyteleft * sizeof(UnicodeStr) * 4;
UnicodeStr *outbuf = new UnicodeStr[outbufSize + 1];
I am sure this problem is due to vlc 0.8.6 upnp code. I can't compile since early 0.8.6svn version.
g++ --v
Utilisation des specs internes.
Target: i586-suse-linux
Configuré avec: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,f95,java,ada --disable-checking --with-gxx-include-dir=/usr/include/c++/4.0.2 --enable-java-awt=gtk --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --without-system-libunwind --host=i586-suse-linux
Modèle de thread: posix
version gcc 4.0.2 20050901 (prerelease) (SUSE Linux)
I got this compilation error for months in upnp support :
upnp_cc.cpp: In function 'int Open(vlc_object_t*)':
upnp_cc.cpp:111: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp:111: erreur: 'playlist_ViewFind' was not declared in this scope
upnp_cc.cpp:113: erreur: invalid use of undefined type 'struct playlist_view_t'
../../include/vlc_common.h:233: erreur: forward declaration of 'struct playlist_view_t'
upnp_cc.cpp: In member function 'playlist_item_t* UPnPHandler::AddDevice(CyberLink::Device*)':
upnp_cc.cpp:230: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp: In member function 'void UPnPHandler::AddContent(playlist_item_t*, CyberLink::ContentNode*)':
upnp_cc.cpp:267: erreur: 'VIEW_CATEGORY' was not declared in this scope
upnp_cc.cpp:275: erreur: 'VIEW_CATEGORY' was not declared in this scope
I am currently using a patched 1.7.1 cyberlink library which has compiled well with vlc 0.8.5. Here's this small modification on CyberLink/src/cybergarage/xml/XML.cpp :
--- CyberLink/src/cybergarage/xml/XML.cpp.org 1970-01-01 02:02:17.000000000 +0100
+++ CyberLink/src/cybergarage/xml/XML.cpp 2006-07-08 08:52:59.000000000 +0200
@@ -123,7 +123,7 @@
char *cpbuf = strdup(str);
if (cpbuf == NULL)
return NULL;
- const char *inbuf = cpbuf;
+ char *inbuf = cpbuf;
size_t inbyteleft = strlen(str);
size_t outbufSize = inbyteleft * sizeof(UnicodeStr) * 4;
UnicodeStr *outbuf = new UnicodeStr[outbufSize + 1];
I am sure this problem is due to vlc 0.8.6 upnp code. I can't compile since early 0.8.6svn version.