Qt moc在包含太多反斜杠的DEFINE上窒息

时间:2018-02-09 09:15:06

标签: c++ qt moc

我们仍然在工作场所的Qt4.7上,所以请记住,这可能是在以后版本中修复的已知错误。我搜索了这个问题,我可能没有使用正确的术语。到此为止。

在我的.pro文件中,我有:

O:28:"Longman\TelegramBot\Telegram":16:{s:10:"*version";s:6:"0.52.0";s:10:"*api_key";s:45:"Api key here";s:15:"*bot_username";s:13:"Bot name here";s:9:"*bot_id";s:9:"470649282";s:8:"*input";s:116:"{"id":1,"url":"cib","_pos":1,"is_vis":true,"deleted_at":null,"checked":false,"data":{"id":1,"_node":1,"head":"CIB"}}";s:17:"*commands_paths";a:1:{i:0;s:98:"/var/www/www-root/data/www/domain.com/vendor/longman/telegram-bot/src/Commands/SystemCommands";}s:9:"*update";O:35:"Longman\TelegramBot\Entities\Update":9:{s:2:"id";i:1;s:3:"url";s:3:"cib";s:4:"_pos";i:1;s:6:"is_vis";b:1;s:10:"deleted_at";N;s:7:"checked";b:0;s:4:"data";a:3:{s:2:"id";i:1;s:5:"_node";i:1;s:4:"head";s:3:"CIB";}s:8:"raw_data";a:7:{s:2:"id";i:1;s:3:"url";s:3:"cib";s:4:"_pos";i:1;s:6:"is_vis";b:1;s:10:"deleted_at";N;s:7:"checked";b:0;s:4:"data";a:3:{s:2:"id";i:1;s:5:"_node";i:1;s:4:"head";s:3:"CIB";}}s:12:"bot_username";s:13:"Bot name here";}s:14:"*upload_path";N;s:16:"*download_path";N;s:16:"*mysql_enabled";b:0;s:6:"*pdo";N;s:18:"*commands_config";a:0:{}s:14:"*admins_list";a:0:{}s:24:"*last_command_response";O:43:"Longman\TelegramBot\Entities\ServerResponse":4:{s:2:"ok";b:1;s:6:"result";b:1;s:8:"raw_data";a:2:{s:2:"ok";b:1;s:6:"result";b:1;}s:12:"bot_username";N;}s:16:"*botan_enabled";b:0;s:15:"*run_commands";b:0;}

“Foo”是我们公司的名称。

这在Linux上构建并运行良好。 当我尝试在Windows上构建它时,moc.exe会解析它解析的任何头文件。用“扼流圈”我的意思是;它启动解析但从未完成。

如果我将DEFINE更改为:

win32
{
    DEFINES += LOGFILE_DIR=\\\"C:\\ProgramData\\Foo\\Logs\\\\\"
}
unix
{
    DEFINES += LOGFILE_DIR=\\\"/var/log/Foo/\\\"
}

(注意增加的空间)

然后moc.exe运行得很好,但我现在最后在我的字符串末尾有一个我不想要的空格。

moc.exe是否会解析任何特殊字符,否则会忽略?

0 个答案:

没有答案