Domanda

Ho VS 2008 e voglio la mia domanda di lavoro con Windows 98 senza la necessità di includere Msvcr90.dll .. Win98 viene fornito con MSVCR60 così come potrei dire MSVC per fare questo? È la mia unica possibilità di dare la caccia Visual Studio 6?

Grazie

* anche io voglio evitare il collegamento statico msvcr

È stato utile?

Soluzione

Non si può dire Visual Studio per utilizzare una versione precedente della libreria runtime. Anche se si può ottenere per compilare con l'antica biblioteca, l'applicazione stessa non sta andando per funzionare correttamente perché il compilatore sta per inserire le chiamate alle funzioni che si aspetta di essere nella biblioteca, che potrebbe non essere il caso.

anche io voglio evitare il collegamento statico msvcr
Perché? Che sembra una soluzione perfettamente valida a questo problema. Certo, si paga circa 100 KB di dimensione codice per esso, ma che vale la pena per essere stato costretto a utilizzare Visual Studio 6 buggy e compilatore non conforme.

Si potrebbe anche solo includere il ridistribuibile MSVC ++ che conterrebbe le DLL corrette e non richiederebbe collegamento statico della libreria standard.

Altri suggerimenti

Se si vuole indirizzare Windows 98, le opzioni sono:

  • In primo luogo, una versione massimo di Visual Studio 2005. 2008 e fino timbro un sistema operativo minimo ver su 5,0 nell'intestazione EXE -. Windows 98 semplicemente non caricare file binari prodotti da VS 2008

Per quanto riguarda la distribuzione del CRT:

  • Distribuire il nuovo runtime con la tua applicazione. Preferisco questo approccio se la vostra applicazione ha molte DLL come collegamento statico rende il tutto molto più grande di quanto dovrebbe essere. Inoltre ci sono un sacco di restrizioni all'utilizzo di C ++ da dll che sono facilitati se almeno quota un'implementazione c-runtime tra tutti i moduli in un processo.

Se non sei un utente "pesante" di C ++ caratteristiche come eccezioni, e lo STL, si potrebbe essere in grado di farla franca, non collegare in alcun crt a tutti. In caso contrario, le opzioni sono:

  1. Usa un compilatore non Microsoft come MinGW. MinGW GCC utilizza la più recente in modo da ottenere C99 e C ++ 98, C ++ 03, TR1 ecc e utilizza msvcrt.dll. Codice :: Blocchi è un IDE "ok", se non hai mai usato Visiva Sutdio e / o hanno preso un po 'troppi colpi alla testa.
  2. Scarica il DDK di Windows. Avrai bisogno di costruire dalla riga di comando, e sporchi con i file di make, ma il suo libero, e il DDK utilizza il VS2005 compilatore e linker, ma soprattutto l'installazione di Link contro msvcrt.dll, NON msvcr80.dll. Si è ritenuto troppo rischioso che richiede driver di periferica di collegamento contro un runtime che potrebbe non essere lì.
  3. Visual Studio 6, come l'ultima opzione di ripiego. supporto orribile orribile per C ++ 98. Almeno si ottiene una bella IDE e dovrebbe essere dannatamente veloce, ora che i computer sono teoricamente raddoppiato in termini di velocità / capacità di 8 volte da quando è stato lanciato.

Il Low Overhead Microsoft Visual Studio C Runtime è un staticamente collegabile runtime C che rende massima l'uso della DLL disponibili già distribuito con Windows.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top