Can't compile any project with headers from libavifile-0.7-dev_0.7.48. Headers in 0.7.47 is worked.
Package: libavifile-0.7-dev
Version: 1:0.7.48~20090503.ds-2+b2
Severity: normal
Tags: patch
Hi
I can not compile any my project in Debian Squeeze with headers in package
libavifile-0.7-dev (0.7.48). But this project compile
normally in Debian Lenny with libavifile-0.7-dev (0.7.47).
C++ code:
-----8<-----
#include <avifile-0.7/avifile.h>
#include <avifile-0.7/version.h>
#if AVIFILE_MINOR_VERSION > 6
#include <avifile-0.7/avm_default.h>
#else
#include <avifile-0.7/default.h>
#endif
#include <avifile-0.7/image.h>
#include <avifile-0.7/infotypes.h>
#include <avifile-0.7/StreamInfo.h>
#include <fstream>
#include <iostream>
#include <sys/types.h>
...
StreamInfo *m_streaminfo; // Error in this string
-----8<-----
Error:
./Render/video/stVideoRenderAviLinux.h:81: error: ISO C++ forbids declaration
of ‘StreamInfo’ with no type
./Render/video/stVideoRenderAviLinux.h:81: error: expected ‘;’ before
‘*’ token
This error generate in g++-4.1, g++-4.3 and g++-4.4 compiler.
Solution:
Add typedef StreamInfo in namespace "avm" in tail of file
/usr/include/avifile-0.7/StreamInfo.h, as it
maked in 0.7.47 version.
Before correction:
-----8<-----
AVM_END_NAMESPACE;
#endif // AVIFILE_STREAMINFO_H
-----8<-----
After correction:
-----8<-----
AVM_END_NAMESPACE;
#ifdef AVM_COMPATIBLE
typedef avm::StreamInfo StreamInfo;
#endif
#endif // AVIFILE_STREAMINFO_H
-----8<-----
-- System Information:
Debian Release: 6.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libavifile-0.7-dev depends on:
ii libavifile-0.7 1:0.7.48~20090503.ds-2+b2 shared libraries for AVI read/writ
libavifile-0.7-dev recommends no packages.
libavifile-0.7-dev suggests no packages.
Reply to: