Closed Lachcim closed 3 months ago
Replacing #include
with #include \ resolves the issue.
Sounds reasonable. Please submit a PR at https://bitbucket.org/chromiumembedded/cef/pull-requests/
I've submitted a pull request at https://bitbucket.org/chromiumembedded/cef/pull-requests/735
Thank you! Great success! 🥰
Describe the bug
When compiling libcef_dll_wrapper with g++ on MSYS2 (UCRT environment), the following error occurs:
The compiler doesn't see a declaration of
strlen
, which I assume it expects to reside in thememory.h
header included at the top of the file.memory.h
is not a standard C or C++ header file and therefore there are no guarantees on which declarations it contains. It appears that the UCRT implementation ofmemory.h
does not includestrlen
. Replacing#include <memory.h>
with#include <cstring>
resolves the issue.To Reproduce Steps to reproduce the behavior:
cef_variables.cmake
file so that it uses GCC command line options on WindowsExpected behavior
The build should succeed. Replacing
#include <memory.h>
with#include <cstring>
allows the build to succeed:Versions (please complete the following information):
Additional context
I understand that exotic compiler configurations such as GCC on MSYS2 are not a priority for the CEF project. However, you are one line of code away from making it work.
cef_string_wrappers.h
appears to be the only header file in libcef_dll_wrapper that includesmemory.h
.