more-taglib-examples/taglib-set-picture.cpp on Visual Studio 2008

Sven Grunewaldt strayer at
Wed Nov 5 11:02:31 CET 2008

Sven Grunewaldt schrieb:
> Hello,
> I'm trying to build a little program which embeds folder.jpg's into all
> MP3s in the same folder.
> I already compiled taglib and successfully compiled the
> tagreader.cpp-Example.
> The next step I took was to build the source of this example:
> Sadly, I get the following error:
> error C2440: 'Initialisierung': 'TagLib::FileName' kann nicht in
> 'TagLib::String' konvertiert werden
> ('TagLib::FileName' could not be converted to 'TagLib::String', Line 50)
> I'm currently a little bit confused and don't know what to do next...
> I use Visual Studio 2008 on Windows Vista 32bit.
> Greetings,
> Sven Grunewaldt
> _______________________________________________
> taglib-devel mailing list
> taglib-devel at
Okay, I asked my colleagues for a little help and I got it solved now,
but I think I found a bug.

While debugging I changed the mimeType function to this:
    TagLib::String mimeType() const
        TagLib::String fileName = (const char*) this->name();
        unsigned int length = fileName.length();
        TagLib::String fileExt4 = fileName.substr(length - 4, 4);
        TagLib::String fileExt5 = fileName.substr(length - 5, 5);
        fileExt4 = fileExt4.upper();
        fileExt5 = fileExt5.upper();

        if(fileExt4 == ".PNG")
            return "image/png";
        else if(fileExt4 == ".JPG" ||
                fileExt5 == ".JPEG")
            return "image/jpeg";
            return TagLib::String::null;
This code finally works and I got the picture attached!

Now to the bug thing... when I change the third line from (const char*)
to (const wchar_t*) the returned string is empty.
Maybe I got this wrong.. but shouldn't wchar_t just be the same as the
char but in unicode?

Sven Grunewaldt

More information about the taglib-devel mailing list