#323 Release and Debug DLLs should have different names

Feature Request
open
Greg Stein
5
2004-08-11
2004-08-11
Anonymous
No

On windows, (unlike on Unix) it is a wise idea to have
output dlls and libs for release and debug with different
names, possibly following the Python convention:

python.exe
python_d.exe
python23.dll
python23_d.dll
etc...

The ACE library is another one:
ace.dll
aced.dll

And IBMs unicode libraries (ICU) follow a similar
converntion.

The reason for this is that applications may encounter
runtime errors when linking to libraries that use a different
heap, and release and debug versions generally do this.

Discussion

  • Karl Waclawek
    Karl Waclawek
    2006-03-09

    Logged In: YES
    user_id=290026

    I am not convinced that this is a good idea for Expat.
    Everytime I would like to debug I need to link to a
    different library. This is inconvenient.

    I am not sure that Expat will have a problem with different
    heaps, as the API does not require cross-allocation or
    cross-deallocation of memory.

     
  • Kevin J Bluck
    Kevin J Bluck
    2007-05-11

    Logged In: YES
    user_id=11142
    Originator: NO

    There are two main schools of thought on this issue. The first is that debug build targets should be named differently. The second is that debug builds should be made into a different target path than release builds.

    I personally prefer the second option, since it is completely within my own control and works regardless of whether any given library author has chosen to mangle target names. The only advantage to mangled names is that you can install and run both variants in the same folder. But then, you have to ask, what if I want to define a third build variant, such as optimized with symbols? Now I need yet another naming variant, which assuredly *no* library will support, so I'm forced into using a different path after all.

    I'd just start out building into different paths in the first place. Then you don't have to concern yourself about other people's naming conventions.

     
  • Karl Waclawek
    Karl Waclawek
    2007-05-11

    Logged In: YES
    user_id=290026
    Originator: NO

    We are already following the different target path approach.