[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:
- I try :
[code]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[/code]
with install zlib, cppunit (gcc4.5 and g++4.5), without error. Get taglib.a file (about 3.1MB). Co I copy to Window and add to *.pro with LIBS += /path to file/taglib.a
When build, it said unresolved external symbol. - I try with: excluded -DBUILD_FRAMEWORK=ON
[code]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[/code]
and get *.pc file, not *.a file or *.dll or *.lib file anymore. So I try to add like LIBS+= and get invalid file.
- I try :
-
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.
-
Volker suggests ignore BUILD_FRAMEWORK, but I'm so confused about how to ignore. I simple change:
-DBUILD_FRAMEWORK=OFF instead of =ON.
Is that right? -
I have one clue, when I use cmake 2.8.6 x86 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?