可能与我的其他问题相关(注意:不同的错误代码):
我们的buildbot slave每晚编译我们的源代码并且大部分时间都在工作,但是间歇性地,我们看到了这个错误:
c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtree(223) : fatal error C1075: end of file found before the left brace '{' at '..\lib\net\CSocketMultiplexer.cpp(62)' was matched
c:\Program Files\Microsoft Visual Studio 9.0\VC\include\xtree(427) : see reference to class template instantiation 'std::_Tree<_Traits>::const_iterator' being compiled
with
[
_Traits=std::_Tmap_traits<ISocket *,CSocketMultiplexer::CJobCursor,std::less<ISocket *>,std::allocator<std::pair<ISocket *const ,CSocketMultiplexer::CJobCursor>>,false>
]
..\lib\net\CSocketMultiplexer.cpp(75) : see reference to class template instantiation 'std::_Tree<_Traits>::iterator' being compiled
with
[
_Traits=std::_Tmap_traits<ISocket *,CSocketMultiplexer::CJobCursor,std::less<ISocket *>,std::allocator<std::pair<ISocket *const ,CSocketMultiplexer::CJobCursor>>,false>
]
请参阅full log output和CSocketMultiplexer.cpp
- 我可以在CSocketMultiplexer.cpp
更改哪些内容可能会阻止此类事件发生?
另外,可能不值得一提,但是后来在日志中,我们看到了这个错误(这完全有道理,因为文件没有编译):
Copyright (C) Microsoft Corporation. All rights reserved.
BSCMAKE: error BK1506 : cannot open file '.\synergy.dir\Debug\CSocketMultiplexer.sbr': No such file or directory
答案 0 :(得分:1)
从这个和你的另一个问题来看,我开始把钱花在“硬件故障”上。可能是你的一个RAM芯片中的一位有故障,所以如果你碰巧碰到这个字节,'}'就会变成别的东西。我会运行一个RAM测试工具。
这台机器是否表现出其他奇怪的行为?罕见的随机崩溃,例如?
答案 1 :(得分:0)
我遇到了同样的问题。
编译错误是:
* main.cpp(325):错误C2601:&#39; FLAG&#39; :本地函数定义是非法的
main.cpp(323):此行包含&#39; {&#39;还没有匹配
main.cpp(326):致命错误C1075:在左括号之前找到的文件结尾&#39; {&#39; at&#39; main.cpp(323)&#39;匹配*
但是我的代码没有任何问题。我统计了所有括号和匹配的数字。另一个函数里面没有任何函数。
我通过删除所有&#34; //&#34;解决了这个问题。来自源代码的评论。似乎这样做的原因是错误的行格式化导致编译器错过换行符,因此注释后的行也被视为注释。
例如:
// This is a comment
This_is_a_line;
被视为:
// This is a comment This_is_a_line;