when I built rosetta++-2.3.1 on my XP with VC++ 2008, following the guide in README.VC2005.BuildExample, the compiler threw some errors when compiling files which includes the header "decoystats_classes.h".
The error is like:
decoystats_classes.h(77) : error C2143, syntax error, missing "}" ...
the error lines are :
enum group_uns_types {
BBH,BBO,NH3_plus,NH2_plus,NH2,NHaro_plus,NHaro,NHarg,COO_minus,CO,OH,SH,N,IGNORE,
};
after several debugs, I found the reason: it seems that "IGNORE" is somewhat like "keyword" and it is not allowed in enum{}. After I change "IGNORE" to "_IGNORE". The errors disappear! Then I have to change all "IGNORE" in file "decoystats_classes.cc" to "_IGNORE".
finally, it is ok.
==============================
I can build it by VC++2005, or VC++2008, but it threw errors when run my test case.
!Is there anybody tell me how to build rosetta on windows x86? I tried several compilers, none work !
when I build rosetta++-2.3 version by VS2005sp1(VC++8.0+sp1), it threw warnings when compiling "homolog_distances.cc":
homolog_distances.cc
C:\Program Files\Microsoft Visual Studio 8\VC\include\vector(47) : warning C4503: 'std::_Tree::_Myval' : decorated name length exceeded, name was truncated
with
[
_Traits=std::_Tmap_traits,std::map>>,std::less>,std::allocator,std::map>>>>,false>
]
Anyway, it is warning, and finally can produce the binary. But the binary does not work correctly, it exited abnormally just after some "shear moves", there are logs:
Instantiating PDInteractionGraph
pose_refine_loops_with_ccd -- accepted/trial/ratio:
17/59/0.288136 for small moves
12/59/0.20339 for shear moves
---- program dead ------
After I read the debug msg, it seems to point to something like "~Studio 8\VC\include\vector ... ", and I guess those warnings attribute to this failure.
I think it is this line in "homolog_distances.cc" trigering the warnings.
line 623: map< pair< int, int >, map< string, map< string, vector< float > > > > params;