Could this be unrelated to SDL at all?
I've noticed that the warnings only refer to symbols from my own SDL library (which wraps CSDL) and from the Logging (swift-log) library.
If I declare my library product as explicity dynamic, most of the warnings go away:
products: [
.library(name: "SwiftSDL", type: .dynamic, targets: ["SDL"])
],
The only warnings that remain now refer to places where I use the Logging framework in my code:
lld-link: warning: C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\SDL.build\SDL.swift.o: locally defined symbol imported: $s7Logging6LoggerV5labelACSS_tcfC (defined in C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\Logging.build\Logging.swift.o) [LNK4217]
lld-link: warning: C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\SDL.build\SDL.swift.o: locally defined symbol imported: $s7Logging6LoggerV8logLevelAC0D0Ovs (defined in C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\Logging.build\Logging.swift.o) [LNK4217]
lld-link: warning: C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\SDL.build\SDL.swift.o: locally defined symbol imported: $s7Logging6LoggerV5debug_8metadata4file8function4lineyAC7MessageVyXK_SDySSAC13MetadataValueOGSgyXKS2SSutF (defined in C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\Logging.build\Logging.swift.o) [LNK4217]
lld-link: warning: C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\SDL.build\SDL.swift.o: locally defined symbol imported: $s7Logging6LoggerV7MessageVN (defined in C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\Logging.build\Logging.swift.o) [LNK4217]
lld-link: warning: C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\SDL.build\SDL.swift.o: locally defined symbol imported: $s7Logging6LoggerV7MessageVs32ExpressibleByStringInterpolationAAMc (defined in C:\Users\steve\Developer\swift-sdl\.build\x86_64-unknown-windows-msvc\debug\Logging.build\Logging.swift.o) [LNK4217]
Is this because Logger (and previously also my SDL wrapper library) is being statically linked and this is unsupported on Windows? (As described in Enabling Static Linking on Windows)