View Issue Details

IDProjectCategoryView StatusLast Update
0030072CommunityOCCT:Configurationpublic2023-09-29 17:35
ReporterRoman Lygin Assigned To 
Status assignedResolutionopen 
Product Version7.3.0 
Target VersionUnscheduled 
Summary0030072: Name collisions between the debug and release library names
DescriptionOCC uses the same names for both debug and release libraries (e.g. TKernel.dll or and uses multi-directory approach (./bin vs ./bind, or ./lib vs ./libd) to distinguish between the two. The more frequent convention though tends to prefer distinct names (msvcrt vs msvcrtd, tbb vs tbb_debug, Qt*[d], etc).

We encountered a customer report who uses OCC but for strict external requirement has to place all redistributables in a single directory. This is enforced by the downstream target environment which is non-negotiable. So in that environment the name clash is unavoidable.

The customer has to patch the OCC build script to inject distinct names for debug libraries (like '_debug' suffix) which obviously break dependency chain with other OCC-based libraries (such as CAD Exchanger) which use default OCC naming. We can work-around the case by offering a specific build using the patched build scripts but I wonder if such an example would convince the OCC team to revisit the approach and favor the distinct name conventions favored by the majority of the C++ libraries.

Using single or dual directory (./bin vs ./bind) won't matter but distinct names will allow far better coexistence of several OCC-based binaries (Open Source or proprietary) or even of a single OCC-based solution under a requirement of a single directory for both debug and release binaries.
TagsNo tags attached.
Test case number


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2018-08-17 20:23 Roman Lygin New Issue
2018-08-17 20:23 Roman Lygin Assigned To => bugmaster
2018-08-28 13:40 bugmaster Assigned To bugmaster => apn
2018-08-28 13:40 bugmaster Status new => assigned
2019-07-10 21:12 abv Target Version 7.4.0 => 7.5.0
2019-09-20 09:13 kgv Severity minor => feature
2020-09-11 15:37 utverdov Assigned To apn => inv
2020-09-11 15:40 utverdov Target Version 7.5.0 => 7.6.0
2020-09-11 17:08 bugmaster Assigned To inv => bugmaster
2021-09-03 14:13 bugmaster Target Version 7.6.0 => 7.7.0
2022-10-24 10:38 szy Target Version 7.7.0 => 7.8.0
2023-08-01 15:09 dpasukhi Target Version 7.8.0 => Unscheduled
2023-09-29 17:35 vglukhik Assigned To bugmaster =>