Compiling VLC and libmedialibrary using git masters
Hello, currently when trying to compile medialibrary first using --without-libvlc
and then trying to compile vlc, both from the master branches, I get to this error
../../modules/misc/medialibrary/medialibrary.h:171:18: error: 'virtual void MediaLibrary::onMediaModified(std::vector<long long int>)' marked 'override', but does not override
171 | virtual void onMediaModified(std::vector<int64_t> media) override;
| ^~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:172:18: error: 'virtual void MediaLibrary::onMediaDeleted(std::vector<long long int>)' marked 'override', but does not override
172 | virtual void onMediaDeleted(std::vector<int64_t> mediaIds) override;
| ^~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:174:18: error: 'virtual void MediaLibrary::onArtistsModified(std::vector<long long int>)' marked 'override', but does not override
174 | virtual void onArtistsModified(std::vector<int64_t> artists) override;
| ^~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:175:18: error: 'virtual void MediaLibrary::onArtistsDeleted(std::vector<long long int>)' marked 'override', but does not override
175 | virtual void onArtistsDeleted(std::vector<int64_t> artistsIds) override;
| ^~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:177:18: error: 'virtual void MediaLibrary::onAlbumsModified(std::vector<long long int>)' marked 'override', but does not override
177 | virtual void onAlbumsModified(std::vector<int64_t> albums) override;
| ^~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:178:18: error: 'virtual void MediaLibrary::onAlbumsDeleted(std::vector<long long int>)' marked 'override', but does not override
178 | virtual void onAlbumsDeleted(std::vector<int64_t> albumsIds) override;
| ^~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:180:18: error: 'virtual void MediaLibrary::onPlaylistsModified(std::vector<long long int>)' marked 'override', but does not override
180 | virtual void onPlaylistsModified(std::vector<int64_t> playlists) override;
| ^~~~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:181:18: error: 'virtual void MediaLibrary::onPlaylistsDeleted(std::vector<long long int>)' marked 'override', but does not override
181 | virtual void onPlaylistsDeleted(std::vector<int64_t> playlistIds) override;
| ^~~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:183:18: error: 'virtual void MediaLibrary::onGenresModified(std::vector<long long int>)' marked 'override', but does not override
183 | virtual void onGenresModified(std::vector<int64_t> genres) override;
| ^~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:184:18: error: 'virtual void MediaLibrary::onGenresDeleted(std::vector<long long int>)' marked 'override', but does not override
184 | virtual void onGenresDeleted(std::vector<int64_t> genreIds) override;
| ^~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:185:18: error: 'virtual void MediaLibrary::onMediaGroupAdded(std::vector<std::shared_ptr<medialibrary::IMediaGroup> >)' marked 'override', but does not override
185 | virtual void onMediaGroupAdded( std::vector<medialibrary::MediaGroupPtr> mediaGroups ) override;
| ^~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:186:18: error: 'virtual void MediaLibrary::onMediaGroupModified(std::vector<long long int>)' marked 'override', but does not override
186 | virtual void onMediaGroupModified( std::vector<int64_t> mediaGroupsIds ) override;
| ^~~~~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialibrary.h:187:18: error: 'virtual void MediaLibrary::onMediaGroupDeleted(std::vector<long long int>)' marked 'override', but does not override
187 | virtual void onMediaGroupDeleted( std::vector<int64_t> mediaGroupsIds ) override;
| ^~~~~~~~~~~~~~~~~~~
../../modules/misc/medialibrary/medialib.cpp: In function 'int Open(vlc_object_t*)':
../../modules/misc/medialibrary/medialib.cpp:1620:46: error: invalid new-expression of abstract class type 'MediaLibrary'
1620 | p_ml->p_sys = new MediaLibrary( p_ml );
| ^
In file included from ../../modules/misc/medialibrary/medialib.cpp:30:
../../modules/misc/medialibrary/medialibrary.h:134:7: note: because the following virtual functions are pure within 'MediaLibrary':
134 | class MediaLibrary : public medialibrary::IMediaLibraryCb
| ^~~~~~~~~~~~
In file included from ../../modules/misc/medialibrary/medialibrary.h:24,
from ../../modules/misc/medialibrary/medialib.cpp:30:
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:180:18: note: 'virtual void medialibrary::IMediaLibraryCb::onMediaModified(std::set<long long int>)'
180 | virtual void onMediaModified( std::set<int64_t> mediaIds ) = 0;
| ^~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:182:18: note: 'virtual void medialibrary::IMediaLibraryCb::onMediaDeleted(std::set<long long int>)'
182 | virtual void onMediaDeleted( std::set<int64_t> mediaIds ) = 0;
| ^~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:185:18: note: 'virtual void medialibrary::IMediaLibraryCb::onArtistsModified(std::set<long long int>)'
185 | virtual void onArtistsModified( std::set<int64_t> artistsIds ) = 0;
| ^~~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:186:18: note: 'virtual void medialibrary::IMediaLibraryCb::onArtistsDeleted(std::set<long long int>)'
186 | virtual void onArtistsDeleted( std::set<int64_t> artistsIds ) = 0;
| ^~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:189:18: note: 'virtual void medialibrary::IMediaLibraryCb::onAlbumsModified(std::set<long long int>)'
189 | virtual void onAlbumsModified( std::set<int64_t> albumsIds ) = 0;
| ^~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:190:18: note: 'virtual void medialibrary::IMediaLibraryCb::onAlbumsDeleted(std::set<long long int>)'
190 | virtual void onAlbumsDeleted( std::set<int64_t> albumsIds ) = 0;
| ^~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:193:18: note: 'virtual void medialibrary::IMediaLibraryCb::onPlaylistsModified(std::set<long long int>)'
193 | virtual void onPlaylistsModified( std::set<int64_t> playlistsIds ) = 0;
| ^~~~~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:194:18: note: 'virtual void medialibrary::IMediaLibraryCb::onPlaylistsDeleted(std::set<long long int>)'
194 | virtual void onPlaylistsDeleted( std::set<int64_t> playlistIds ) = 0;
| ^~~~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:197:18: note: 'virtual void medialibrary::IMediaLibraryCb::onGenresModified(std::set<long long int>)'
197 | virtual void onGenresModified( std::set<int64_t> genresIds ) = 0;
| ^~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:198:18: note: 'virtual void medialibrary::IMediaLibraryCb::onGenresDeleted(std::set<long long int>)'
198 | virtual void onGenresDeleted( std::set<int64_t> genreIds ) = 0;
| ^~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:203:18: note: 'virtual void medialibrary::IMediaLibraryCb::onMediaGroupsAdded(std::vector<std::shared_ptr<medialibrary::IMediaGroup> >)'
203 | virtual void onMediaGroupsAdded( std::vector<MediaGroupPtr> mediaGroups ) = 0;
| ^~~~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:204:18: note: 'virtual void medialibrary::IMediaLibraryCb::onMediaGroupsModified(std::set<long long int>)'
204 | virtual void onMediaGroupsModified( std::set<int64_t> mediaGroupsIds ) = 0;
| ^~~~~~~~~~~~~~~~~~~~~
D:/media-autobuild_suite/local64/include/medialibrary/IMediaLibrary.h:205:18: note: 'virtual void medialibrary::IMediaLibraryCb::onMediaGroupsDeleted(std::set<long long int>)'
205 | virtual void onMediaGroupsDeleted( std::set<int64_t> mediaGroupsIds ) = 0;
| ^~~~~~~~~~~~~~~~~~~~
I believe this is caused by !234 (merged) using std::set
in IMediaLibrary.h
and vlc still using std::vector
in modules/misc/medialibrary/medialibrary.h