Open FabriicioMelo opened 8 months ago
@Mishura4 This is related to #980. Is this because it's not ran inside visual studio?
I'll investigate. In the meantime you can add DPP_BYPASS_VERSION_CHECKING
to the list of defines in your project to work around this
you didn't link the windows sdk which contains the messageboxA function, this is required client side in the program which includes dpp.
@braindigitalis Thanks to you, I managed to compile. I found how to link to the sdk. My xmake.lua file now looks like this:
add_rules("mode.debug", "mode.release")
add_requires("dpp")
target("test-bot")
add_rules("win.sdk.application")
set_kind("binary")
add_files("src/*.cpp")
add_packages("dpp")
You need to update this on your website.
Please don't close this if it's not yet resolved on our end.
Thank you though for the solution, we'll look at this. There are potentially other solutions as well.
Maybe we could simply change the solution to patch Scary->MyHead
? If the windows api is found (check with #ifdef
) then we do the message box, otherwise we could do a fallback and just send the error log via std::cout
or something.
I have ideas, I'll take a look soon Very busy atm so probably next week
I have ideas, I'll take a look soon Very busy atm so probably next week
Okie dokie!
This issue has had no activity and is being marked as stale. If you still wish to continue with this issue please comment to reopen it.
did you forgor mor?
@Mishura4 Did you forgor even mor?
Why not including the pure user32.lib from windows?, I'm not so experienced handling with xmake but something like a pragma to import user32 in this lines.
Also would be useful if TEXT()
macro (defined in windows.h) is used in MessageBox to support unicode and non-unicode windows builds, avoiding compile issues in the future.
#ifdef _WIN32
#include <windows.h>
#pragma comment(lib, "user32.lib")
if constexpr (BuildType != build_type::universal && BuildType != expected) {
MessageBox(
nullptr,
TEXT(
"Mismatched Debug/Release ...\n"
"..."
),
TEXT("D++ Debug/Release mismatch"),
MB_OK | MB_ICONERROR
);
// ...
}
#endif
// ...
Useful links: MessageBoxA requirements MessageBoxW requirements
Git commit reference: ffa2653f7504a701735ed23cfb2d503648253a96
Describe the bug: When trying to install dpp through xmake, I receive this error, which does not allow me to start the project.
To Reproduce: Steps to reproduce the behavior:
add_requires("dpp")
target("test-bot") set_kind("binary") add_files("src/*.cpp")