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
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
participants (2)
-
Jinlong Shen
-
Leon Mlakar