Thread overview
[Issue 21447] Undocumented MS linker error LNK1377
Dec 02, 2020
kinke
Dec 12, 2020
Walter Bright
Dec 14, 2020
Per Nordlöw
Dec 19, 2020
Walter Bright
Dec 17, 2022
Iain Buclaw
December 02, 2020
https://issues.dlang.org/show_bug.cgi?id=21447

kinke <kinke@gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |industry

--
December 12, 2020
https://issues.dlang.org/show_bug.cgi?id=21447

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> ---
> The containing library is corrupt.

Instead of using dmd to build the library, try building it with Microsoft's lib tool.

--
December 14, 2020
https://issues.dlang.org/show_bug.cgi?id=21447

Per Nordlöw <per.nordlow@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |per.nordlow@gmail.com

--- Comment #2 from Per Nordlöw <per.nordlow@gmail.com> ---
(In reply to Walter Bright from comment #1)
> > The containing library is corrupt.
> 
> Instead of using dmd to build the library, try building it with Microsoft's lib tool.

I would greatly appreciate if you could explain

- how the call to dub changes and
- what command line call I should use to link the resulting binary using "lib
tool". "lib tool" doesn't seem to be an official linker name on Windows. Which
other linker are you referring to?

--
December 19, 2020
https://issues.dlang.org/show_bug.cgi?id=21447

--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> ---
Here's the Microsoft lib tool that comes with Visual Studio:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>lib
Microsoft (R) Library Manager Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.

usage: LIB [options] [files]

   options:

      /DEF[:filename]
      /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
      /EXPORT:symbol
      /EXTRACT:membername
      /INCLUDE:symbol
      /LIBPATH:dir
      /LIST[:filename]
      /LTCG
      /MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16|
                SH4|THUMB|X64|X86}
      /NAME:filename
      /NODEFAULTLIB[:library]
      /NOLOGO
      /OUT:filename
      /REMOVE:membername
      /SUBSYSTEM:{BOOT_APPLICATION|CONSOLE|EFI_APPLICATION|
                  EFI_BOOT_SERVICE_DRIVER|EFI_ROM|EFI_RUNTIME_DRIVER|
                  NATIVE|POSIX|WINDOWS|WINDOWSCE}[,#[.##]]
      /VERBOSE
      /WX[:NO]

And a link to what it does and how to use it:

https://docs.microsoft.com/en-us/cpp/build/reference/lib-reference?view=msvc-160

I don't know how your project is creating libraries, but when the message says "the containing library is corrupt" that's where to start.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=21447

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P3

--