2011-11-21 25 views
6

Utilizzo Visual C++ 2008 Express Edition per creare una risorsa solo DLL. Il problema che sto affrontando è che esegue l'applicazione che fa uso della DLL su un altro computer, oltre miniera si traduce in LoadLibrary() funzione in mancanza con il codice di errore 14001.LoadLibrary non riesce con il codice di errore 14001

Ricerca throught internet sembra essere un dependecy problema del computer nell'esecuzione dell'applicazione senza librerie del pacchetto ridistribuibile Microsoft Visual C++ 2008.

Il mio primo passo è stato installare l'ultimo pacchetto ridistribuibile Microsoft Visual C++ 2008, ma questo non ha risolto il problema.

Inoltre ho modificato l'impostazione del progetto in modo che la DLL venga compilata con il collegamento CRT statico, supponendo che in tal modo io mi libererò delle dipendenze dallo .

Queste opzioni sembrano essere soluzioni alternative per gli altri che hanno lo stesso problema. Qualsiasi idea in quale direzione guardare è molto apprezzata.

Grazie

========================================= ==========================

Grazie per le vostre risposte.

Sia Dipendenza Walker che il visualizzatore eventi hanno indicato un problema di configurazione side-by-side in quanto mancava una libreria di versione di debug del pacchetto ridistribuibile VC++.

Ero incurante e ho compilato la mia DLL in modalità di debug, la ricompilazione in modalità di rilascio ha risolto il problema.

+0

Penso che ci sia un'opzione da qualche parte per creare veramente una DLL di sola risorsa; per esempio. non genererà DllMain e inserirà MFC, ATL, CRT, ecc. Prova Linker/Avanzate - Nessun punto di ingresso – Luke

risposta

7

cercare di isolare libreria mancante per Dependency Walker:

http://www.dependencywalker.com/

basta eseguire l'applicazione sul secondo computer con questo strumento, dovrebbe dirti cosa manca alla libreria Assicurati di installare la versione corretta di Visual C++ 2008 Redistributable Package; ce ne sono due, per VS 2008 con SP1 e senza alcun SP ...

0

Ho avuto gli stessi problemi ma con Visual Studio 2013; un set di debug di DLL che richiedeva un manifest. Nel mio caso, Microsoft.DTfW.DHL.manifest e dbghelp.dll dovevano essere aggiunti al percorso (ho usato la directory exe).

Problemi correlati