programme expotieren mit vc8 probleme



  • wenn du damit .NET-source meinst dann nicht. das .NET-framework bediene ich gar nicht. zumindest nicht in diesem projekt. also gibt es eigentlich keinen anlass für das net-framework



  • Benutze die Forensuche mit "crt redist".
    Es geht wiedermal um das Thema C/C++ Runtime, Side By Side Assemblies, WinSXS etc.
    Das ganze findest Du auch im MSDN unter dem Stichwort "Deployment" von C++ Application (erstellt mit VS 2005 / VS 2008).

    Simon



  • "Funktioniert nicht" ist keine Fehlerbeschreibung! Soll hier jeder raten, wie die Lösung ist? Was kommt denn für ne Fehlermeldung?



  • du hast recht artchi das hatte ich komplett vergessen. folgende fehlermeldung kommt, beim starten auf dem zielrechner (also der ohne vc8)

    http://img122.imageshack.us/my.php?image=clipboard01yb0.jpg

    @simon.gysi: nach schema f habe ichs schon probiert, das funktionierte aber nicht. also bin ich hilfe in diesem forum angewiesen



  • hast du ev. einen debug build gemacht??
    (dann müsstest du auch die debug crt's installieren)

    Edit: ich sehs gerade.. du hast ziemlich wahrscheinlich einen debug build probiert. mach ein release build!!!



  • das habe ich schon versucht. aber wenn ich das einfach so umstelle, dann kommen ein haufen linker fehler. ich sollte vllt mal n neues projekt anlegen und gleich auf release umstellen oder!?

    hier mal die fehlermeldungen nachdem ich umgestellt habe

    LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
    libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    sprite_manager.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__CrtDbgReportW" in Funktion "__ehhandler$??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z".
    tile_manager.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    time_event_manager.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    libcpmtd.lib(stdthrow.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    exception_handler.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    gui_manager.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    sound_device.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    sprite.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    animation.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    animation_manager.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    chara_manager.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    character.obj : error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".
    libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".
    libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__malloc_dbg".
    libcpmtd.lib(xdebug.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__free_dbg" in Funktion ""void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)".
    libcpmtd.lib(xmbtowc.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__free_dbg".
    libcpmtd.lib(_tolower.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__calloc_dbg" in Funktion "__Getctype".
    


  • Nein, kein neues Projekt.
    Vergleiche die Einstellungen für Debug und Release und passe die Release Version an (nur die Projekt Settings).

    Sieht aus, als hättest Du eine Lib vergessen mitzulinken.



  • so okay. das habe ich nun getan. danke dir erstmal für die hilfe^^. reicht es jetzt aus wenn ich nur die exe schicke, oder muss ich noch etwas aus dem release ordner (manifest oder was auch immer) oder sonst irgendetwas mitschiciken!?



  • Auf dem Zielrechner muss die entsprechende Runtime (CRT) installiert sein.
    Diese kann bekanntlich bei MS downgeloaded / installiert werden.
    Simon



  • Du kannst die DLLs entweder vom User herunter laden lassen:
    http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
    (Admin-Rechte nötig!)

    Oder in deinem MSI-Installer gleich die DLLs mit reinlegen. Im MSVC-Verzeichnis müsste eine redist-Verzeichnis drin sein, wo die DLLs zum redistributieren enthalten sind, die darf man mitliefern.

    Ansonst kann man nur raten, sich in der MSDN und auf Channel9 über die verschiedenen Deployment-Verfahren zu informieren.



  • achso wollte ich unbedingt noch erwähnt haben, da du grade das verzeichnis erwähnst ich benutze die expressversion. da habe ich mal gelesen dass da der ganze kram im winsxs ordner is.



  • winsxs ist ja das, was installiert wurde. Aber ich meinte das redist-Verzeichnis im MSVC-Verzeichnis. Weiß leider gerade nicht den genauen Pfad, müsste aber auch in der MSDN drin stehen.



  • danke danke danke. an alle-. wenn cih einen mal treffen sollte geb ich den n bier aus. hat alles gekalppt wie am schnürchen^^


Anmelden zum Antworten