Linkerfehler



  • Hi,
    ich bin am Verzweifeln. Ich weiß nicht wie ich folgenden Compilerfehler beheben kann. Ich nutze Visual Studio 2010.

    1>------ Erstellen gestartet: Projekt: startdll, Konfiguration: Release Win32 ------
    1>Der Buildvorgang wurde am 02.06.2012 17:18:14 gestartet.
    1>InitializeBuildStatus:
    1>  Aktualisieren des Timestamps von "Release\startdll.unsuccessfulbuild".
    1>ClCompile:
    1>  Alle Ausgaben sind aktuell.
    1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) ist bereits in PTAM Working.lib(System.obj) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) ist bereits in msvcprt.lib(locale0_implib.obj) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(lconv.obj) : error LNK2005: _localeconv ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0.obj) : error LNK2005: _mainCRTStartup ist bereits in MSVCRT.lib(crtexe.obj) definiert.
    1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z)".
    1>PTAM Working.lib(ARtoolkit.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z)".
    1>PTAM Working.lib(VideoSource_Win32_CMU1394.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl cv::fastFree(void *)" (?fastFree@cv@@YAXPAX@Z)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall CVD::GLWindow::~GLWindow(void)" (??1GLWindow@CVD@@QAE@XZ)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall CVD::GLWindow::~GLWindow(void)" (??1GLWindow@CVD@@QAE@XZ)".
    1>PTAM Working.lib(GLWindow2.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: __thiscall CVD::GLWindow::~GLWindow(void)" (??1GLWindow@CVD@@QAE@XZ)".
    1>PTAM Working.lib(EyeGame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(PatchFinder.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(KeyFrame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(SmallBlurryImage.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(MiniPatch.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(Tracker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(MapMaker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void __cdecl CVD::Internal::aligned_free(void *)" (?aligned_free@Internal@CVD@@YAXPAX@Z)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void __cdecl GVars3::GUI::StopParserThread(void)" (?StopParserThread@GUI@GVars3@@SAXXZ)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall GVars3::GUI::StartParserThread(void)" (?StartParserThread@GUI@GVars3@@QAEXXZ)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: void __thiscall GVars3::GUI::LoadFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?LoadFile@GUI@GVars3@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)".
    1>PTAM Working.lib(MapMaker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(GLWindowMenu.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(main.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(GLWindow2.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(Tracker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""class GVars3::GUI GVars3::GUI" (?GUI@GVars3@@3V01@A)".
    1>PTAM Working.lib(KeyFrame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(SmallBlurryImage.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(MiniPatch.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(EyeGame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(Tracker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(MapMaker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(PatchFinder.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""void * __cdecl CVD::Internal::aligned_alloc(unsigned int,unsigned int)" (?aligned_alloc@Internal@CVD@@YAPAXII@Z)".
    1>PTAM Working.lib(ATANCamera.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(GLWindowMenu.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(KeyFrame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(Bundle.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(Tracker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(ARDriver.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(MapMaker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""int __cdecl GVars3::serialize::check_stream(class std::basic_istream<char,struct std::char_traits<char> > &)" (?check_stream@serialize@GVars3@@YAHAAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z)".
    1>PTAM Working.lib(ATANCamera.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(GLWindowMenu.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(KeyFrame.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(Bundle.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(System.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(Tracker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(ARDriver.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(MapMaker.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static void __cdecl GVars3::GV3::add_typemap(class GVars3::BaseMap *)" (?add_typemap@GV3@GVars3@@CAXPAVBaseMap@2@@Z)".
    1>PTAM Working.lib(ATANCamera.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""private: static class std::map<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::pair<class GVars3::BaseMap *,int>,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct 
    
    usw..
    

    Der Quelltext

    #include <stdlib.h>
    #include <iostream>
    #include <windows.h>
    #include "ptam.h"
    
    int main(){
    	main_ork();
    	system("pause");
    	return 1;
    }
    

    die Headerdatei

    extern int main_ork();
    

    Ich hoffe Ihr könnt mir helfen.

    Gruß

    EDIT:

    Ich hatte vor aus einem bestehendem Programm(das als exe funktioniert) eine DLL zu erstellen und möchte Diese aufrufen.



  • Hau mal in die Headerdatei

    #pragma once
    

    Wenns dann nicht geht, dann muss da mehr Code sein.



  • Ich habs eingefügt.. hat nicht geholfen. Kann es sein, dass ich beim DLL Erstellen einen Fehler gemacht habe?


  • Mod

    Das sind Linkerfehler, keine Compilerfehler. Lies dir bitte mal den ersten und besonders den dritten Link in meiner Signatur durch, wie du uns möglichst gut helfen kannst, dir zu helfen. Denn derzeit ist nur die Allgemeinfloskel drin, dass du dir mal die Fehlermeldungen angucken solltest: Da siehst du, dass die eine Hälfte der Symbole (deren Namen darauf hindeuten, dass sie aus der Standardruntimebibliothek sind) doppelt definiert ist, und zwar einmal in deinen obj-Dateien und einmal in MSVCRT.lib. Dies deutet da drauf hin (ich kenne MSVC nicht, daher ist dies eine allgemeine Beobachtung. Es kann auch helfen, die Fehlermeldungen einfach mal zu googlen), dass du irgendwo die Runtimebibliothek schon einmal statisch gelinkt hast und nun versuchst, sie noch einmal hinzuzufügen.
    Die andere Hälfte der Symbole ist hingegen nirgendwo definiert. Diese Symbole sind alle aus dem namespace CVD, was da drauf hindeutet, dass du die CVD-Bibliothek benutzt, aber nicht (oder falsch) dagegen linkst.

    #pragma once hat hiermit überhaupt nichts zu tun.



  • Ok, hab mal den den Titel geändert.

    Da siehst du, dass die eine Hälfte der Symbole (deren Namen darauf hindeuten, dass sie aus der Standardruntimebibliothek sind) doppelt definiert ist, und zwar einmal in deinen obj-Dateien und einmal in MSVCRT.lib.

    In den Linkeroptionen ist MSVCRT.lib nicht drinnen..?!

    Bzgl. den obj-Dateien: Heißt das, dass ich beim Compilieren der DLL Definitionen weglassen muss? oder wie kann ich beim Aufrufen der DLL die doppelte Definition verhindern?



  • ich hab mal die Libraries aus der EXE anwendung mitgelinkt

    jetzt hab ich nur noch folgende Fehlermeldung

    1>------ Erstellen gestartet: Projekt: startdll, Konfiguration: Release Win32 ------
    1>Der Buildvorgang wurde am 02.06.2012 18:21:51 gestartet.
    1>InitializeBuildStatus:
    1>  Aktualisieren des Timestamps von "Release\startdll.unsuccessfulbuild".
    1>ClCompile:
    1>  Alle Ausgaben sind aktuell.
    1>libARd.lib(arUtil.obj) : warning LNK4075: /EDITANDCONTINUE wird aufgrund der Angabe von /OPT:ICF ignoriert.
    1>msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) ist bereits in PTAM Working.lib(System.obj) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z) ist bereits in msvcprt.lib(locale0_implib.obj) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@PBD@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(void)" (?_Init@locale@std@@CAPAV_Locimp@12@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) ist bereits in msvcprt.lib(MSVCP100.dll) definiert.
    1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(lconv.obj) : error LNK2005: _localeconv ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z ist bereits in MSVCRT.lib(cinitexe.obj) definiert.
    1>LIBCMT.lib(crt0.obj) : error LNK2005: _mainCRTStartup ist bereits in MSVCRT.lib(crtexe.obj) definiert.
    1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type ist bereits in MSVCRT.lib(MSVCR100.dll) definiert.
    1>LINK : warning LNK4098: Standardbibliothek "MSVCRT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    1>LINK : warning LNK4098: Standardbibliothek "LIBCMTD" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    1>C:\Users\Orkan\Documents\Visual Studio 2010\Projects\PTAMM Programming\Attempt 1 (PTAM working!)\PTAM\Release\startdll.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
    1>
    1>Fehler beim Erstellen
    1>
    1>Verstrichene Zeit 00:00:01.76
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
    


  • Habs lösen können:

    Es kommt darauf an wie man die DLL compiliert. Die Laufzeibibliothekseinstellung muss bei dem aufrufendem Programm und bei der DLL identisch sein!

    Bezüglich den nicht nicht extern aufgelösten Symbolen: Die Libraries die man in der DLL verwendet muss man auch im DLL aufrufendem Programm mitlinken. Ich bin davon ausgegangen dass schon alles in der Libdatei der DLL drinnen ist.

    Kann mich bitte Jemand korrigieren, wenn ich grad Stuss von mir gebe?

    Gruß und Danke


Anmelden zum Antworten