如何修复宏定义太大的错误

时间:2013-09-14 21:07:32

标签: c++ c macros npapi firebreath

在Visual Studio 2010上编译我的项目(npapi plugin -firebreath)时,出现以下错误:

fatal error RC1011: compiler limit : 'FBSTRING_X11MIMEType': macro definition too big

宏很大但是在gcc(Linux)中编译没有任何问题。我只能通过减少宏长度来修复上述错误,但这不是解决问题的方法。请帮我解决这个问题。

更新:这是宏

#define FBSTRING_X11MIMEType \
                        "application/zip::My Plugin ;" \
                        "application/pdf::My Plugin ;" \
                        "application/octet-stream::My Plugin ;" \
                        "application/postscript::My Plugin ;" \
                        "application/x-msdownload::My Plugin ;" \
                        "application/x-gtar::My Plugin ;" \
                        "application/x-gzip::My Plugin ;" \
                        "application/x-iso::My Plugin ;" \
                        "application/x-unknown::My Plugin ;" \
                        "application/x-compress::My Plugin ;" \
                        "application/mac-binary::My Plugin ;" \
                        "application/macbinary::My Plugin ;" \
                        "application/x-binary::My Plugin ;" \
                        "application/x-macbinary::My Plugin ;" \
                        "application/x-bzip2::My Plugin ;" \
                        "application/x-bzip::My Plugin ;" \
                        "application/x-compressed::My Plugin ;" \
                        "application/x-tar::My Plugin ;" \
                        "application/gnutar::My Plugin ;" \
                        "application/x-zip-compressed::My Plugin ;" \
                        "application/vnd.android.package-archive::My Plugin ;" \
                        "application/vnd.ms-cab-compressed::My Plugin ;" \
                        "application/x-7z-compressed::My Plugin ;" \
                        "application/x-debian-package::My Plugin ;" \
                        "application/x-deb::My Plugin ;" \
                        "application/x-iso9660-image::My Plugin ;" \
                        "application/x-ms-application::My Plugin ;" \
                        "application/x-rar-compressed::My Plugin ;" \
                        "application/x-rar::My Plugin ;" \
                        "application/rar::My Plugin ;" \
                        "application/x-rpm::My Plugin ;" \
                        "application/arj::My Plugin ;" \
                        "application/x-msdos-program::My Plugin ;" \
                        "application/msi::My Plugin ;" \
                        "application/exe::My Plugin ;" \
                        "application/x-exe::My Plugin ;" \
                        "application/dos-exe::My Plugin ;" \
                        "application/x-winexe::My Plugin ;" \
                        "application/msdos-windows::My Plugin ;" \
                        "application/x-iso-image::My Plugin ;" \
                        "application/force-download::My Plugin ;" \
                        "application/java-archive::My Plugin ;" \
                        "application/x-flareget::My Plugin ;" \
                        "application/metalink+xml::My Plugin ;" \
                        "application/x-cd-image::My Plugin ;" \
                        "application/octet-string::My Plugin ;" \
                        "application/download::My Plugin ;" \
                        "video/quicktime::My Plugin ;" \
                        "video/x-sgi-movie::My Plugin ;" \
                        "video/x-mpeg::My Plugin ;" \
                        "video/x-mpeq2a::My Plugin ;" \
                        "video/avi::My Plugin ;" \
                        "video/msvideo::My Plugin ;" \
                        "video/x-msvideo::My Plugin ;" \
                        "video/3gpp::My Plugin ;" \
                        "video/mp4::My Plugin ;" \
                        "video/webm::My Plugin ;" \
                        "video/mov::My Plugin ;" \
                        "video/x-f4v::My Plugin ;" \
                        "video/x-flv::My Plugin ;" \
                        "video/flv::My Plugin ;" \
                        "video/x-m4v::My Plugin ;" \
                        "video/x-matroska::My Plugin ;" \
                        "video/x-ms-wmv::My Plugin ;" \
                        "flv-application/octet-stream::My Plugin ;" \
                        "audio/mpeg::My Plugin ;" \
                        "audio/x-mpeg::My Plugin ;" \
                        "audio/mpeg3::My Plugin ;" \
                        "audio/x-mpeg-3::My Plugin ;" \
                        "audio/mp4::My Plugin ;" \
                        "audio/ogg::My Plugin ;" \
                        "audio/webm::My Plugin ;" \
                        "audio/x-ms-wma::My Plugin ;" \
                        "audio/x-wav::My Plugin ;" \
                        "audio/mp3::My Plugin ;" \
                        ""
      #define FBSTRING_MIMEType   FBSTRING_MIMETypeList

1 个答案:

答案 0 :(得分:1)

从外观上看,你只是有太多的mimetypes,你正试图处理。由于FireBreath使用一个定义来处理mimetypes,我怀疑你没有重写一些firebreath内部结构就不能让它工作