digitalmars.D.bugs - Linker bug - can't handle '.' in the DLL name
- dickl (9/9) May 21 2006 It appears the linker does not properly reference a DLL in the
- Walter Bright (3/5) May 23 2006 That's true, any special characters like space, +, ., -, etc., will fail...
- dckl (6/12) May 23 2006 The problems is not that the name is passed to the linker on the command...
It appears the linker does not properly reference a DLL in the executable when the DLL name contains an embedded '.'. For example, I'm trying to convert the Intel IPP library for use with D. In the new version, the DLLS names are in the format lib-5.1.dll. coffimplib places the name lib-5.1 in the import lib. The application links, but when the application is run, it complains that lib-5.1 is not found. Normally if a DLL is not found , the application would have said lib-5.1.dll not found. As a side note, implib reports an error if the LIBRARY name contains an '.'
May 21 2006
dickl wrote:It appears the linker does not properly reference a DLL in the executable when the DLL name contains an embedded '.'.That's true, any special characters like space, +, ., -, etc., will fail in file names passed to the linker.
May 23 2006
Walter Bright wrote:dickl wrote:The problems is not that the name is passed to the linker on the command line. The DLL name is in the link (import) library but the linker doesn't properly put the name in the executable for it to load. Looking at the executable, the linker puts lib-5.1 in the executable rather than lib-5.1.DLLIt appears the linker does not properly reference a DLL in the executable when the DLL name contains an embedded '.'.That's true, any special characters like space, +, ., -, etc., will fail in file names passed to the linker.
May 23 2006