On 14 Maj, 22:40, 001 <snthib...@gmail.com> wrote:
> I get the following error when compiling under MS VC++:
>
> ------ Build started: Project: pract-1, Configuration: Debug Win32
> ------
> Compiling...
> pract-1.cpp
> Linking...
> atlsd.lib(atltrace.obj) : error LNK2005: "unsigned int (__stdcall*
> ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA)
> already defined in iorw-vc7.lib(iorw-vc7-dll.obj)
> Debug/pract-1.exe : fatal error LNK1169: one or more multiply defined
> symbols found
> Build log was saved at "file://f:\Interfacing\RS232-
> pract-1\TstCom1\Debug\BuildLog.htm"
> pract-1 - 2 error(s), 0 warning(s)
> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
> ==========
>
> It compiles under the 2003 version though... (at least I thought that
> was the version I used at school). When I opened it at home in the
> 2005 version I was prompted to convert the project, after that I tried
> building and got the error above. I'm quite new to Microsoft's
> environment and the .NET-stuff (and I only use it because my
> university uses that). I think there is a simple explanantion, but
> can't find it myself.
As Victor pointed out, this does not really belong here as it seems to
apply to a particular environment where better newsgroups exist. One
thing is in order though: you should learn to read the error-messages.
Here, it is evident that the file compiles just fine. The linker just
tells you that there is a function you have defined multiple times -
once in atlsd.lib and once in iorw-vc7.lib. Looking at that last name
should tell you that the project seemingly requests to link a 2003-
project (VC7). Most likely, you should remove that lib from your
project.
/Peter
|