View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] |
ID | Project | Category | View Status | Date Submitted | Last Update |
0030072 | Community | [OCCT] OCCT:Configuration | public | 2018-08-17 20:23 | 2020-09-11 17:08 |
|
Reporter | Roman Lygin | |
Assigned To | bugmaster | |
Priority | normal | Severity | feature | |
Status | assigned | Resolution | open | |
Platform | | OS | | OS Version | |
Product Version | [OCCT] 7.3.0 | |
Target Version | [OCCT] 7.6.0* | Fixed in Version | | |
|
Summary | 0030072: Name collisions between the debug and release library names |
Description | OCC uses the same names for both debug and release libraries (e.g. TKernel.dll or libTKernel.so) 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.
|
Tags | No tags attached. |
|
Test case number | |
|
Attached Files | |
|