[Graph] compilation error under Windows but not under Linux

Hello, I have a compilation error under Windows (Visual C++ 2008) with a code that works well under Linux (gcc 4.6.1 and before). The compilation error is: =========== /FsaAccess16.tcc(833) : error C2784: 'std::pair<graph_traits<G>::in_edge_iterator,graph_traits<G>::in_edge_iterator> boost::in_edges(graph_traits<G>::vertex_descriptor,const boost::subgraph<Graph> &)'ÿ: impossible de d‚duire l'argument modŠle pour 'const boost::subgraph<Graph> &' … partir de 'FrCeaLic2m::Common::FsaAccess::selected_graph_types16::spareGraphType' C:\PROGRA~1\boost\BOOST_~1\boost/graph/subgraph.hpp(432)ÿ: voir la d‚claration de 'boost::in_edges' Z: \Projets\MoteurMultimedia\mm_common\src\common/FsaAccess/FsaAccess16.tcc(778)ÿ: lors de la compilation de la fonction membre '<Inconnu>' de la classe <Inconnu> z: \projets\moteurmultimedia\mm_common\src\common\fsaaccess\FsaAccessReader16.h(118)ÿ: voir la r‚f‚rence … l'instanciation de la classe modŠle 'FrCeaLic2m::Common::FsaAccess::FsaAccess16<graphType>' en cours de compilation with [ graphType=FrCeaLic2m::Common::FsaAccess::selected_graph_types16::spareGraphType ] z: \projets\moteurmultimedia\mm_common\src\common\fsaaccess\FsaAccessSpare16.h(35)ÿ: voir la r‚f‚rence … l'instanciation de la classe modŠle 'FrCeaLic2m::Common::FsaAccess::FsaAccessReader16<graphType>' en cours de compilation with [ graphType=FrCeaLic2m::Common::FsaAccess::selected_graph_types16::spareGraphType ] =========== The line that does not compile is boost::tie(iei,ie_end) = boost::in_edges(commonTarget,m_graph); The function being compiled is declared like that: template <typename graphType > std::pair< const typename boost::graph_traits<graphType>::vertex_descriptor, bool > FsaAccess16<graphType>::findEquivalentInRegister( dicoVertexType tempState ){ ... And here graphType, the type of m_graph is spareGraphType defined by: struct selected_graph_types16 { ... typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, dicoVertexCountProperty> spareGraphType; ... This is a cmake based project that I compile using qtcreator. I'm a Linux developer and I'm a little bit lost with VC outputs and tools under Windows... Regards, Gaêl -- Gael de Chalendar CEA LIST Centre de Fontenay-aux-Roses Laboratoire Vision et Ingénierie des Contenus (Vision and Content Engineering Laboratory) Bat. 38-2 ; 18, rue du Panorama ; BP 6 92265 Fontenay aux Roses Cedex ; France Tél.:01.46.54.80.18 ; Fax.:01.46.54.75.80 Email : Gael.D.O.T.de-Chalendar.A@T.cea.D.O.T.fr

On Tue, 22 Nov 2011, Gaël de Chalendar wrote:
Hello,
I have a compilation error under Windows (Visual C++ 2008) with a code that works well under Linux (gcc 4.6.1 and before).
You will need to give some more information about the code -- where is boost::subgraph coming from? I don't see that mentioned in your description of the problem. In FsaAccess16.tcc, what are "G" and "Graph" defined as? -- Jeremiah Willcock

Hello, It's a long long time since I asked my question and got Jeremiah's answer below. Sorry for that. I was completely lost and was not able to find the answers to Jeremiah's questions. Then I had to switch to other tasks and forgot to continue this thread. I had just restart working on the Windows port and hit this problem again. This time I was able to solve it: in fact, the graph that was used here was set as directedS and the code was calling in_edges... I don't understand why it worked under Linux. Setting the graph to bidirectionalS was the solution. BTW, error messages were useless to point me to the right direction. There was no subgraph at all in all the code... Jeremiah, thanks for your help. Best regards, Gaël Le mardi 22 novembre 2011 14:57:22 Jeremiah Willcock a écrit :
On Tue, 22 Nov 2011, Gaël de Chalendar wrote:
Hello,
I have a compilation error under Windows (Visual C++ 2008) with a code that works well under Linux (gcc 4.6.1 and before).
You will need to give some more information about the code -- where is boost::subgraph coming from? I don't see that mentioned in your description of the problem. In FsaAccess16.tcc, what are "G" and "Graph" defined as?
-- Jeremiah Willcock -- Gael de Chalendar CEA LIST Laboratoire Vision et Ingénierie des Contenus (Vision and Content Engineering Laboratory)
CEA SACLAY - NANO INNOV BAT. 861 Point courier 173 91191 GIF SUR YVETTE Tél.:+33.1.69.08.01.50 Fax:+33.1.69.08.01.15 Email : Gael.D.O.T.de-Chalendar.A@T.cea.D.O.T.fr
participants (2)
-
Gaël de Chalendar
-
Jeremiah Willcock