I do not think that this is possible without changing the library itself. I assume this is a static library (inside the dll, the overridden new / delete will be indicated by the functions inside the dll.)
You can remove the obj file from the static library using the command (Visual command line):
LIB /REMOVE:obj_to_remove /OUT:removed.lib input.lib
To find out which obj to remove, first run:
DUMPBIN /ARCHIVEMEMBERS input.lib
You will see lines like
Archive member name at 14286: /0 compilation.dir\objfile1.obj
14286 'identifies' the obj file. To see where each character is located, do:
DUMPBIN /LINKERMEMBER:1 input.lib > members.txt
and find new / delete. members.txt will contain the distorted names of each character and the identifier of the obj object in which this character is located. For example,
14286 ?_Rank@ ?$_Arithmetic_traits@C @ std@ @2HB
14286 tells you the identifier obj in which the character lies. If you are having trouble finding a new / delete, you can run:
DUMPBIN /SYMBOLS input.lib > sym.txt
which will be dumped in sym.txt distorted and incomprehensible names for each character.
obj_to_remove , delete the obj file using the LIB command above, replacing obj_to_remove with compilation.dir\objfile1.obj in our example and the link to removed.lib .
Now, if you're out of luck, the other characters you need may be in the same object file as the new / delete. In this case, you can βcrackβ the lib using something like this (say, rename new to dew and delete to nelete .)