Skip to content

[windows] Linking two files with <windows.h> included generates "already defined" errors #12413

@timurrrr

Description

@timurrrr
Bugzilla Link 12041
Resolution DUPLICATE
Resolved on May 06, 2012 21:52
Version trunk
OS Windows NT
Blocks llvm/llvm-bugzilla-archive#12477
CC @asl,@tritao

Extended Description

$ more file1.c:
#include <windows.h>
int main(void) { return 0; }

$ more file2.c
#include <windows.h>

$ clang.exe --version
clang version 3.1 (trunk 150957)
Target: i686-pc-win32
Thread model: posix

$ clang.exe file1.c file2.c
file2-489042.o : error LNK2005: _Int64ShllMod32@12 already defined in file1-489041.o
file2-489042.o : error LNK2005: _Int64ShraMod32@12 already defined in file1-489041.o
file2-489042.o : error LNK2005: _Int64ShrlMod32@12 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndSet already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndReset already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedBitTestAndComplement already defined in file1-489041.o
file2-489042.o : error LNK2005: _MemoryBarrier already defined in file1-489041.o
file2-489042.o : error LNK2005: _ReadPMC already defined in file1-489041.o
file2-489042.o : error LNK2005: _ReadTimeStampCounter already defined in file1-489041.o
file2-489042.o : error LNK2005: _DbgRaiseAssertionFailure already defined in file1-489041.o
file2-489042.o : error LNK2005: _HEAP_MAKE_TAG_FLAGS already defined in file1-489041.o
file2-489042.o : error LNK2005: _RtlSecureZeroMemory already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpInitializeCallbackEnviron already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackThreadpool already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackCleanupGroup already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackActivationContext already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackNoActivationContext already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackLongFunction already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackRaceWithDll already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackFinalizationCallback already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackPriority already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpSetCallbackPersistent already defined in file1-489041.o
file2-489042.o : error LNK2005: _TpDestroyCallbackEnviron already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedAnd64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedOr64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedXor64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedIncrement64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedDecrement64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedExchange64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InterlockedExchangeAdd64 already defined in file1-489041.o
file2-489042.o : error LNK2005: _InitializeThreadpoolEnvironment already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPool already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackCleanupGroup already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackRunsLong already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackLibrary already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPriority already defined in file1-489041.o
file2-489042.o : error LNK2005: _SetThreadpoolCallbackPersistent already defined in file1-489041.o
file2-489042.o : error LNK2005: _DestroyThreadpoolEnvironment already defined in file1-489041.o
file2-489042.o : error LNK2005: _HRESULT_FROM_WIN32 already defined in file1-489041.o
a.out : fatal error LNK1169: one or more multiply defined symbols found
clang: error: linker command failed with exit code 1169 (use -v to see invocation)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillaclangClang issues not falling into any other categoryduplicateResolved as duplicate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions