[Moved] Taglib on symbian
So how do I build taglib in Windows? I try hard to build it in Desktop to get tag.lib and tag.dll, but cannot add to Symbian. I don’t want to use QMultimediaKit because it waste memory and I’m confused about AlbumArtist and Artist, that QMultimediaKit doesn’t have.
So I must compile in Linux base (Ubuntu) ?
I tried in Windows (can build .dll and .lib, run with Desktop app), and have Ubuntu 10.10. Can anyone help me to build for Symbian, how to import this library ?
I add INCLUDEPATH += and LIBS += to pro file with .lib that built in Windows but cannot run, it finish right after run.
I tried in Ubuntu 10.10 but get the same result:
1. I try :
- cmake -DZLIB_INCLUDE_DIR:PATH=/usr/local/zlib/include -DZLIB_LIBRARY:FILEPATH=/usr/local/zlib/lib/libz.a -
- DCMAKE_BUILD_TYPE=Release -DBUILD_FRAMEWORK=ON -DWITH_MP4=ON -DWITH_ASF=ON
When build, it said unresolved external symbol.
2. I try with: excluded -DBUILD_FRAMEWORK=ON
- cmake -DZLIB_INCLUDE_DIR:PATH=/usr/local/zlib/include -DZLIB_LIBRARY:FILEPATH=/usr/local/zlib/lib/libz.a -
- DCMAKE_BUILD_TYPE=Release -DWITH_MP4=ON -DWITH_ASF=ON
and get *.pc file, not *.a file or *.dll or *.lib file anymore. So I try to add like LIBS+= and get invalid file.
4 replies
I split off this topic from http://developer.qt.nokia.com/forums/viewthread/2765/
While I applaud you searching for related contents before posting, it is not a good idea to just continue an existing topic many months after it died. Instead, just start a new topic, and perhaps reference the older topics you have already found and read.
I have one clue, when I use cmake 2.8.6 ×86 in Window 7. Choose only ENABLE_STATIC and NO_ITUNES_HACKS, and build with VS 9 2008 (native). I get tag.lib file with 520KB, and compiler in Qt, it shows error with no constructor for Taglib::FileName when convert string to Taglib::FileName. And I cannot find another way to open Taglib::FileRef without using Taglib::FileName. So I comeback to tiostream.h (in the latest version in Git, the version in homepage the code below is put in tfile.h), it show:
- #ifdef _WIN32
- class TAGLIB_EXPORT FileName
- {
- public:
- FileName(const wchar_t *name) : m_wname(name) {}
- FileName(const char *name) : m_name(name) {}
- operator const wchar_t *() const { return m_wname.c_str(); }
- operator const char *() const { return m_name.c_str(); }
- private:
- std::string m_name;
- std::wstring m_wname;
- };
- #else
- typedef const char *FileName;
- #endif
Maybe that code only accept win32 can use constructor FileName from w_char_t. I try to find depth but cannot find constructor inside tiostream.cpp. I try to exclude #ifdef statement, Qt show unresolved symbol for FileName constructor again.
I but now when I try to build again in VS 2008, output always is a big file (~6MB tag.lib). I reinstall Cmake, erase and Generate again and again with cmake, build again and again with VS but cannot make tag.lib in 520KB again.
So I try now is find another way to constructor FileName from string, Qstring … or re-build again and again.
Any suggestion please?
You must log in to post a reply. Not a member yet? Register here!


