Fedora14下編譯qtopia問題

主要用strrchr函數,從類型‘const char*’到類型‘char*’的轉換無效,新版本g++不支持報錯了。


錯誤1:
     backend/vobject.cpp: In function ‘VObject* addGroup(VObject*, const char*)’:
     backend/vobject.cpp:419: error: invalid conversion from ‘const char*’ to ‘char*’

 修改/x86-qtopia-2.2.0/qtopia/src/libraries/qtopia/backend/vobject.cpp:419行
        char *dot = strrchr(g,'.');
 爲    char *dot = (char*)strrchr(g,'.');

錯誤2:
      wavplugin.cpp: 在成員函數‘virtual bool WavPlugin::isFileSupported(const QString&)’中:
      wavplugin.cpp:435:45: 錯誤:從類型‘const char*’到類型‘char*’的轉換無效

修正/x86-qtopia-2.2.0/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp:435行
       char *ext = strrchr( path.latin1(), '.' );
爲    char *ext = (char*)strrchr( path.latin1(), '.' );

錯誤3:

       /usr/bin/ld: .obj/release-shared/transferserver.o: undefined reference to symbol 'crypt@@GLIBC_2.0'
       /usr/bin/ld: note: 'crypt@@GLIBC_2.0' is defined in DSO /lib/libcrypt.so.1 so try adding it to the linker command line

       這個問題發現用了crypt函數 而沒使用-lcrypt,   qtopia-2.2.0-FriendlyARM/qtopia/configure  1372行加入

       print CONFIG_PRI "LIBS+=-lcrypt\n";

如下:

    print CONFIG_PRI "QTOPIA_FONT_SIZES=$opt_fontsizes\n";
    print CONFIG_PRI "QTOPIA_FONT_FAMILIES=$opt_fontfamilies\n";
    print CONFIG_PRI "LIBS+=-lcrypt\n";

注意修改每次build時都會從qtopia-2.2.0.tar.gz解壓出來,需要修改qtopia-2.2.0.tar.gz裏的文件,不然每次build都會被覆蓋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章