redist vermeiden



  • Hast Du es denn wenigstens mal mit /MT versucht? Ich kann mir irgendwie nicht vorstellen, dass Eclipse es besser hinbekäme...


  • Mod

    Anmerkung:
    Je nachdem wie die Addins funktionieren und das Interface gebaut ist ist es NICHT nötig, dass die selbe Runtime verwendet wird.
    Wenn PODs verwendet werden und reine pure Interfaces und Zeiger, die kein new/delete in anderen Modulen fordern kann man eigentlich machen was man will.



  • Mit /MT hat es immer noch msvcp80 etc. oder so im dependency walker. Kann man das irgendwie testen?


  • Mod

    Verwendest Du andere Libraries, die diese benötigen.
    Diese Datei wird immer benötigt wenn eine Deiner Objektdateien mit /MD kompiliert wurde.



  • mike4 schrieb:

    Mit /MT hat es immer noch msvcp80 etc. oder so im dependency walker. Kann man das irgendwie testen?

    msvcp80 ist die C++ Runtime Library von Visual-Studio 2005. Du verwendest nach
    eigenen Angaben
    aber VS2010. Die dll wird vermutlich von anderen eingebundenen Quellen verwendet.

    Es wäre evtl. ratsam alles mit der gleichen C++ Version STATISCH zu erstellen bevor man es zusammenlinkt.
    Module die dynamisch dlls nachladen werden sich davon sonst nicht einfach abbringen lassen.

    Was wird denn sonst noch als lib eingebunden ?



  • sdl, sdl_image und curl. Ich habe irgendwie keine Lust sowas zu kompilieren, nur schon curl braucht etliche dlls.
    Mit mingw64 habe ich einen segfault:

    http://www.c-plusplus.net/forum/315437

    Danke


  • Mod

    Du musst schon dafür sorgen, dass die Libs in dem selben System kompiliert werden und mit den entsprechenden gleichen Compiler Einsetllungen.

    Auch wenn Du dazu keine Lust hast.
    Mixed Runtime Loads von CRTs sind das Übelste was man ausliefern kann.



  • Ich verwende ein halbes Dutzend dlls. Es meinte nur einer, dass es ein Problem mit einem neueren redist (2012?) gebe... /MT bei Problemen...ms go home, sollen sie halt Linux installieren.
    Noch Ideen zum mingw64 segfault?


  • Mod

    Und wenn du 20 Dlls verwendest oder nur eine.
    1. Kannst Du mit DEPENDS exakt die Abhängigkeit sehen.
    2. Würde ich mich nie auf die Builds verlassen, die ich von einem Paket geliefert bekomme.
    3. Verstehe ich nicht was Du mit Deinem letzten Kommentar meinst.



  • Im dependency walker sehe ich msvcr80.dll. Wie löse ich das nun am einfachsten?
    - Gehe ich recht in der Annahme dass ich das am einfachsten in vc2008 mit /MT kompilieren kann?
    Hmm ich habe gerade vc2008 express installiert.
    - Dann brauche ich neben 32bit auch 64bit. Was muss ich denn nachinstallieren. Derzeit bekomme ich etwa sowas wie: target x64 mismatchs machine win32.
    Vielen Dank
    Michael


  • Mod

    Man kann Libriaries auch mit neueren Compilern neu kompilieren.

    Was ist denn Dein Ziel?
    Alle DLLs auflösen?

    Wenn Du schon x-DLLs hast. Was stört Dich an dem redistributable Paket?



  • mike4 schrieb:

    Ich verwende ein halbes Dutzend dlls. Es meinte nur einer, dass es ein Problem mit einem neueren redist (2012?) gebe... /MT bei Problemen...ms go home, sollen sie halt Linux installieren.
    Noch Ideen zum mingw64 segfault?

    Immer wieder lustig wenn eigene Unwissenheit dazu führt, dass irgendwer "nach Hause gehen" soll. Das Problem hättest Du in der Art unter Linux genauso. Nur vermutlich kennst Du Dich mit Linux noch weniger aus, so dass Du noch nichtmal merken würdest welche Shared Objects das so läd.


Anmelden zum Antworten