You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the SDK version 2021.6 the language standard C 17 has been set in the compiler options (-std=c 17). The firmware itself is also compiled with this option set. Besides some general C issues related to this C 17 standard, the following issue is related to PLCnext: C 17 introduces the data type std::byte which is unfortunately not compatible with Arp::byte. Therefore, if the namespaces std and Arp are both active the compilation, this results in an error. In this case existing C sources have to be adjusted so that they explicitly use Arp::byte (e.g. by adding using byte = Arp::byte;).
Known for firmware on ALL PLCnext devices
[cmake]: [ 71%] Building CXX object CMakeFiles/FileStreamExample.dir/src/FileStreamExampleComponent.cpp.o
[cmake]: /home/myworkpcuser/Downloads/CppExamples/Examples/FileStreamExample/src/FileStreamExampleComponent.cpp: In member function 'void FileStreamExample::FileStreamExampleComponent::WriteToFile(Arp::String)':
[cmake]: /home/myworkpcuser/Downloads/CppExamples/Examples/FileStreamExample/src/FileStreamExampleComponent.cpp:85:19: error: reference to 'byte' is ambiguous
[cmake]: 85 | stream.Write((byte*) str.CStr(), str.Length(), 0, str.Length());
SDK >= 2021.6
The SDK compiler was set to C 17
With the SDK version 2021.6 the language standard C 17 has been set in the compiler options (-std=c 17). The firmware itself is also compiled with this option set. Besides some general C issues related to this C 17 standard, the following issue is related to PLCnext: C 17 introduces the data type std::byte which is unfortunately not compatible with Arp::byte. Therefore, if the namespaces std and Arp are both active the compilation, this results in an error. In this case existing C sources have to be adjusted so that they explicitly use Arp::byte (e.g. by adding using byte = Arp::byte;).
Known for firmware on ALL PLCnext devices
can be fixed With:
The text was updated successfully, but these errors were encountered: