Open AlifianK opened 1 month ago
To clarify mimalloc-override.dll
requires mimalloc-redirect.dll
(and your main program should have a dependency on mimalloc-override.dll
.
When I look at CMakeLists.txt
I see nowhere that mimalloc-override.dll
is created -- that seems wrong but already it seems to have been wrong for a while? Did you have it working on an earlier version? I need to think a bit for the best fix.
Yes, but I'm not sure what changed.
I tried playing around with past release, I tested v2.1.2
and the error is like this
While the latest version (v2.1.7
) is like this
I think the name has been wrong since I started using mimalloc, but it was working so I assumed it was just outdated documentation on readme section, but the issue started to appear on the latest release, that's why I filed this issue, Meanwhile I patched CMakeLists.txt
with this, and the output will correctly produce mimalloc-override.dll
.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bcfe91d8..67dce36f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -401,7 +401,7 @@ else()
set(mi_install_cmakedir "${CMAKE_INSTALL_LIBDIR}/cmake/mimalloc-${mi_version}") # for cmake package info
endif()
-set(mi_basename "mimalloc")
+set(mi_basename "mimalloc-override")
if(MI_SECURE)
set(mi_basename "${mi_basename}-secure")
endif()
Edit: To clarify, I used minject
to import the dependencies. I don't link mimalloc
when compiling the program.
Thanks for the clarification; I usually use the visual studio IDE and there we do produce the mimalloc-override.dll
. I am hesitant to change things in the cmake to avoid breaking build scripts ... I'll experiment a bit more... tbc.
After updating to
v2.1.7
,mimalloc-redirect.dll
requiresmimalloc-override.dll
. While this is consistent with readme instruction, the names of the DLL objects after compiling are stillmimalloc.dll
andmimalloc-redirect.dll
inside the build folder, which requires me to renamemimalloc.dll
tomimalloc-override.dll
manually. So either change back themimalloc-redirect.dll
linking tomimalloc.dll
, or changemimalloc.dll
output tomimalloc-override.dll
.