When building C++ examples for the update 12 SDK it fails with the following error:
-MANIFESTFILE:C:\Users\doug\AppData\Local\Temp\Bentley\MicroStationSDK\objects\ModelExample.dll.ManifestC:\Users\doug\AppData\Local\Temp\Bentley\MicroStationSDK\objects\ModelExample.obj C:\Users\doug\AppData\Local\Temp\Bentley\MicroStationSDK\objects\ModelExampleHelper.obj B:\Apps\Bentley\library\bentley.lib B:\Apps\Bentley\library\BentleyAllocator.lib B:\Apps\Bentley\library\mdlbltin.lib B:\Apps\Bentley\library\RmgrTools.lib B:\Apps\Bentley\library\BentleyGeom.lib B:\Apps\Bentley\library\DgnPlatform.lib B:\Apps\Bentley\library\ECObjects.lib B:\Apps\Bentley\library\dgnview.lib gdi32.lib user32.lib kernel32.lib C:\PROGRA~2\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x64\msvcrt.libB:\Apps\Bentley\library\mdlbltin.libLINK : fatal error LNK1181: cannot open input file 'C:\PROGRA~2\Microsoft.obj'BMAKE: call trace line: 414, B:\Apps\Bentley\mki\dlmlink.mki line: 106, B:\Apps\Bentley\examples\Model\ModelExample\ModelExample.mkeMon Nov 04 23:23:11 2019, elapsed time: 0:00
Clearly the space in the path:
C:\PROGRA~2\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x64\msvcrt.lib
Is causing problems. I'm guessing it needs to be quoted somewhere, but I have been unable to locate where it is specified.
Hi Douglas,
Douglas Wood said:with the following error:
Please use Insert > Insert code tool when you share any code, log or other output. To place it as unformatted text makes it more complicated for reading.
Douglas Wood said:When building C++ examples
It look like you use quite unusual installation location and not default setup, but it's not the source of the discussed problem.
Douglas Wood said:I'm guessing it needs to be quoted somewhere, but I have been unable to locate where it is specified.
You are correct, it's Microsoft linker feature it does not support spaces in path correctly.
Bmake expects 8.3 naming convention is enabled on used drives. Maybe on you C (system) volume, the 8.3 naming is not enabled? You can search Internet for details, but how to check whether the naming is enabled is e.g. here, how to change it is here.
I am not sure where exactly the path to the lib is built, it would require to create verbose log (-v switch) and to check how proper mke / mki file is implemented. Bmake works with 8.3 convention, so maybe to enclose the path to quotes, which is alternative to 8.3 naming, is not possible, not sure.
With regards,
Jan
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point