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

how to fix macro definition too big error

本文关键字:错误 何修复 宏定义      更新时间:2023-10-16

在Visual Studio 2010上编译我的项目(npapi插件-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

从外观上看,你只是有太多的哑剧类型试图处理。 由于FireBreath使用定义来处理mimetype,我怀疑如果不重写一些firebreath内部,您将无法使其工作