Skip to content

Conversation

ryanplusplus
Copy link

@ryanplusplus ryanplusplus commented Mar 10, 2024

If you look at the compile commands for MyFirstTest.cpp, you can see:

  • -includeCppUTest/MemoryLeakDetectorMallocMacros.h
  • -includeCppUTest/MemoryLeakDetectorNewMacros.h

These flags force inclusion of these headers before any includes defined in the source file. These come from CppUTest:
https://github.com/cpputest/cpputest/blob/c3625dc668b4be4a1639e7e81f681e7d709a7b93/src/CppUTest/CMakeLists.txt#L100-L104

It's not sufficient to include MyMemoryLeakDetectorNewMacrosFile.h in your source because the forced inclusions will happen first. The way to solve this is to force inclusion of your header first as I've done here.

This is detailed in the CppUTest manual:
https://cpputest.github.io/manual.html#conflicts-with-operator-new-macros-stl

@graial graial merged commit e9673a2 into graial:master Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants