PDA

View Full Version : [Visual C++] errore libreria mfc42d.lib


niki89
24-10-2007, 21:00
ciao a tutti questa libreria dice visual c++ che manca lo trovata nella piattaforma sdk ma e solo per amd 64 o ia64 ci sta una versione per 32 bit...oppure se me la potete inviare e meglio...
grazie in anticipo!!

tomminno
25-10-2007, 11:22
ciao a tutti questa libreria dice visual c++ che manca lo trovata nella piattaforma sdk ma e solo per amd 64 o ia64 ci sta una versione per 32 bit...oppure se me la potete inviare e meglio...
grazie in anticipo!!

Non so se nella loro (M$) furbizia hanno chiamato 2 librerie diverse con lo stesso nome, ma che io sappia, mfc42d.lib è la libreria delle MFC per l'embeddedVC4.
Se hai l'ambiente di sviluppo giusto installato te la dovresti ritrovare, se invece stai sviluppando per PC è sbagliato il riferimento: dovresti usare mfc80d.lib per VS2005 o mfc71d.lib per VS2003

71104
25-10-2007, 12:12
Non so se nella loro (M$) furbizia hanno chiamato 2 librerie diverse con lo stesso nome, ma che io sappia, mfc42d.lib è la libreria delle MFC per l'embeddedVC4.
Se hai l'ambiente di sviluppo giusto installato te la dovresti ritrovare, se invece stai sviluppando per PC è sbagliato il riferimento: dovresti usare mfc80d.lib per VS2005 o mfc71d.lib per VS2003 se nel nome cambia solo il numero di versione dubito fortemente che risolverà il problema... la versione 4.2 di MFC è quella distribuita con Visual C++ 6, quindi credo che niki89 stia usando quella (per quale motivo della terra poi non si sa). piuttosto è quella "d" alla fine del nome che mi insospettisce, ma può anche darsi che il file .lib per i sistemi embedded sia assolutamente identico a quello per PC o per qualsiasi altra architettura.

71104
25-10-2007, 12:18
se nel nome cambia solo il numero di versione dubito fortemente che risolverà il problema... la versione 4.2 di MFC è quella distribuita con Visual C++ 6, quindi credo che niki89 stia usando quella (per quale motivo della terra poi non si sa). piuttosto è quella "d" alla fine del nome che mi insospettisce, ma può anche darsi che il file .lib per i sistemi embedded sia assolutamente identico a quello per PC o per qualsiasi altra architettura.
anzi ora che ci penso la "d" dovrebbe significare semplicemente "debug" (nel senso che quella è la versione del .lib per la compilazione in modalità di debug), quindi il file dovrebbe essere assolutamente portabile, almeno per quanto suggerisce il suo nome. il fatto che niki89 non se la ritrovi è molto probabilmente colpa sua: dal momento che la versione 6 di Visual C++ è (era) non solo una versione a pagamento che non aveva edizioni gratuite ma anche una versione non più commercializzata (10 anni nel settore dell'informatica sono tantini eh :D), probabilmente l'ha scaricata pirata e quindi potrebbe averne trovata una versione danneggiata.

niki89
25-10-2007, 18:13
vedi ke ho visual studio express 2005 e sto usando un tutorial che stato scritto con visual c++ 6 quindi non dire che ce lo pirata...

71104
25-10-2007, 19:25
vedi ke ho visual studio express 2005 e sto usando un tutorial che stato scritto con visual c++ 6 quindi non dire che ce lo pirata...
e il tutorial importava esplicitamente un file .lib il cui nome cambia da una versione all'altra e che tra l'altro viene importato automaticamente?

giangian2
26-10-2007, 09:43
ciao,
teoricamente il progetto dovrebbe essere stato convertito e quindi utilizzare la 'mfc80d.lib'. Come dice 71104 in qualche '.h' potrebbe importare esplicitamente la libreria con la direttiva '#pragma comment (lib,"mfc42d.lib")'.
Comunque, se non erro, la versione Express di VS2005 non permette di creare/compilare progretti che utilizzano le MFC.

ciao

71104
26-10-2007, 11:34
ciao,
teoricamente il progetto dovrebbe essere stato convertito e quindi utilizzare la 'mfc80d.lib'. Come dice 71104 in qualche '.h' potrebbe importare esplicitamente la libreria con la direttiva '#pragma comment (lib,"mfc42d.lib")'.
Comunque, se non erro, la versione Express di VS2005 non permette di creare/compilare progretti che utilizzano le MFC.

ciao non permette di crearli, ma comunque MFC dovrebbe stare nel PSDK quindi dovrebbero compilare regolarmente.

giangian2
26-10-2007, 11:59
non permette di crearli, ma comunque MFC dovrebbe stare nel PSDK quindi dovrebbero compilare regolarmente.

sinceramente non mi risulta che le MFC siano nel PSDK, ma sono sotto 'VC\atlmfc\Lib'. :rolleyes:
Cmq. guardando qui (http://msdn2.microsoft.com/en-us/library/ms235626(VS.80).aspx) mi sembra di capire che il PDSK non venga utilizzato automaticamente da VS2005 express.

ciaooooo

variabilepippo
26-10-2007, 12:31
Le librerie MFC non sono incluse nel Platform SDK (a.k.a. Windows SDK).

La procedura da seguire per integrare VC++ Express con il PSDK è disponibile anche in italiano (http://msdn2.microsoft.com/it-it/library/ms235626(VS.80).aspx).

71104
26-10-2007, 13:58
Le librerie MFC non sono incluse nel Platform SDK (a.k.a. Windows SDK). ho appena verificato il contrario. MFC e ATL sono inclusi in questo file: http://www.microsoft.com/downloads/details.aspx?familyid=D8EECD75-1FC4-49E5-BC66-9DA2B03D9B92&displaylang=en
e con tanto di sorgenti. si può sapere in base a cosa entrambi dite il contrario? :wtf:

71104
26-10-2007, 14:01
sinceramente non mi risulta che le MFC siano nel PSDK, ma sono sotto 'VC\atlmfc\Lib'. :rolleyes: non vuol dire niente: scarica il file che ho linkato nel post precedente e vedrai che stanno anche lì.

Cmq. guardando qui (http://msdn2.microsoft.com/en-us/library/ms235626(VS.80).aspx) mi sembra di capire che il PDSK non venga utilizzato automaticamente da VS2005 express. ma questo non vuol dire che Visual C++ 2005 Express non permetta di compilare sorgenti basati su MFC; Visual C++ 2005 Express da solo non lo permette, ma visto che le istruzioni per l'integrazione del PSDK nella pagina di installazione sono tanto chiare mi sembrava un insulto all'intelligenza di niki89 dare per scontato che non avesse saputo seguirle :fagiano:

giangian2
26-10-2007, 15:55
non vuol dire niente: scarica il file che ho linkato nel post precedente e vedrai che stanno anche lì.

il PDSK che ho installato io dai cd MSDN che manda la Microsoft non ha le mfc42d.lib, non so come mai.


ma questo non vuol dire che Visual C++ 2005 Express non permetta di compilare sorgenti basati su MFC; Visual C++ 2005 Express da solo non lo permette, ma visto che le istruzioni per l'integrazione del PSDK nella pagina di installazione sono tanto chiare mi sembrava un insulto all'intelligenza di niki89 dare per scontato che non avesse saputo seguirle :fagiano:

con il link alla pagina con le istruzioni per l'integrazione del PSDK su VS2005 express, non volevo dire che non si puo` ma solamente che non e` una cosa automatica e tanto meno volevo offendere niki89 in alcun motivo, perche` puo` essere che non lo sapesse... e se invece lo sapevo e` stata un'informazione inutile, ma di sicuro non offensiva. ;)