The very first thing that comes to my mind is the suggestion to use the full namespace path (::xxx::FirstState). I know that MSVC and gcc do not always agree on  resolving the relative namespace paths.

Cheers,
Leon

Disclaimer: This is before-the-first-morning-coffee reply. It may be completely off.

On 10.03.2021 22:55, Jinlong Shen via Boost-users wrote:
Dear Madam/Sir,

I used the boost::statechart asynchronous_state_machine to create a simple state machine. The state machine, the events and states are regular classes and are not class templates.

Everything builds and works well on linux and qnx platform. However, on windows I got message that the the initial state is undefined. I think I have dealt with forward declaration well since it is build on linux and qnx. On Windows microsoft this compiler is used: Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x64

The error message is like this.

(ClCompile target) -> C:\Program Files\boost_1_64_0\boost/statechart/state_machine.hpp(701): error C2027: use of undefined type 'xxxx::FirstState'          
C:\Program Files\boost_1_64_0\boost/statechart/state_machine.hpp(701): error C3861: 'initial_deep_construct': identifier not found 

Any hint how it could be wrong with Microsoft C++?

Best regards,
Jinlong Shen


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users