-
Notifications
You must be signed in to change notification settings - Fork 83
Description
Describe the bug
This bug is very specific to my use case, but could be helpful for others.
My program does not build successfully, when I run cmake --build build, millions of errors are produced.
To Reproduce
Steps to reproduce the behavior:
- Use Zep v0.1.12 (or the latest "master")
- Use MSys2 on Windows.
- Have a CMake project (like mine)
- Make sure all dependences are installed (e.g. CMake, GCC, ...)
- Prepare the CMake files
cmake -B build - Try to build the program
cmake --build build - See error
Expected behavior
Program builds successfully, and able to be ran.
Screenshots
I don't think a screenshot would be best for a wall (more like a skyscraper) of errors, so I have a pastebin instead.
Desktop (please complete the following information):
- OS: Windows
- Version 10
Additional context
Just started to use Zep to allow people to edit their Lua scripts in my game engine editor.
Some important files
- https://github.com/ajh123-development/Minecart/blob/c5e3dbaeb5d94e6f982a1b9883a1ea2dba03c082/cmake/zep.cmake
- https://github.com/ajh123-development/Minecart/blob/c5e3dbaeb5d94e6f982a1b9883a1ea2dba03c082/CMakeLists.txt
- Everything else
I assume my compiler doesn't understand the following lines, because it is in the errors.
zep/include/zep/mcommon/logger.h
Lines 15 to 22 in fbc0e3e
| #ifdef WIN32 | |
| // A reference to the debug API on windows, to help the logger output in VC. This is better | |
| // than out to the console sometimes, and as long as you are building on Windows, you are referencing the necessary | |
| // kernel32.dll.... | |
| extern "C" { | |
| __declspec(dllimport) void __stdcall OutputDebugStringA(_In_opt_ const char* pszChar); | |
| } | |
| #endif |
Some possible solutions
- Could we have an option to disable using the Windows Debug API? (probably just another
#ifdef ... #endif). Probably the most simplest to implement. - Allow the program implementing Zep to handle the logs in its own way. (probably some kind of call-back) Would be useful for me because I have my own Logger, but probably the hardest implement.