|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
compilare mfc da dos tool visual studio 6.0
E' una mia fissa, compilare da dos in linea di comando
CHIARIFICAZIONE: Riesco a compilare in linea di comando sotto dos applicazioni console, tipica linea di comando: naturalmente con la shell dos mi trovo nella directory Bin dove c'è program.cpp digitando: cl /I d:\mvc32\include program.cpp .....a questo punto ho program.obj e program.exe quindi le applicazioni console sono a posto. dentro la dir mvc32 o le seguenti directory (praticamente ho spostato quello del visual studio vc98 e ci ho messo dentro alcuni file e dll per poter far funzionare il tutto): Alt Bin Crt Include Lib Mfc Rc (quì ci ho messo rc.exe del masm32 v 8.0 e brc, brc32, brcc e brcc32 del TASM 5.0 per compilare i file di risorse) LA DOMANDA: Sto cercando di compilare programmi per Win32 Application da dos e questo è il file batch sempre nella directory Bin: @echo off cl /I d:\mvc32\mfc\include /I d:\mvc32\mfc\Lib /I d:\mvc32\include /I d:\mvc32\lib lez1.cpp riesco ad ottenere Lez1.obj ..... mentre Lez1.exe non viene creato e l'errore è questo: Unresolved external symbol ...... ecc,ecc. PER NON AVERE errori, devo usare l'IDE di vc andando nel Menù project, setting e nel General devo scegliere la voce per Microsoft fundation classes, Use MFC in a Static Library, poi faccio la compilazione ed è tutto OK. Che opzione devo mettere nella linea di comando (sopra) per far capire al compilatore che deve usare Use MFC in a Static Library, compilando da dos un progetto Win32 Application?????? Infatti nell'ide se compilo con Use MFC in a Static Library non ho errori e si crea Lez1.exe (praticamente è una finestra windows) ....... mentre sempre nell'ide se compilo con Not using MFC ho gli stessi errori che ho compilando da dos............. come risolvere??????????? ciao |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Bhè ci sono riuscito.................
La sintassi nel batch è: cl /I d:\mvc32\mfc\include /I d:\mvc32\mfc\Lib /I d:\mvc32\include /I d:\mvc32\lib /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_Lez1" /D "_MBCS" /FD /GZ /c lez1.cpp ..... mantenendo però nella dir dove si trova Lez1.cpp, tutti i file di inclusione e librerie sia dell'include e lib sia i file di \mfc\include\ e \mfc\lib............ va bhè comunque l'eseguibile viene creato e funziona. E' strano, perchè l'opzione /I cerca nelle dir specificate i file che servono al linker, ma non viene creato il file Lez1.obj, forse sbaglio qualcosa e ne ho provate tante............... qualcuno sà come fare per non dover copiare tutti i file (kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib), nella stessa dir di Lez1.cpp?? ciao |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Dec 2002
Città: Pisa
Messaggi: 152
|
![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#4 | |
Bannato
Iscritto dal: May 2003
Città: Roma
Messaggi: 3642
|
Quote:
![]() ![]() ![]() |
|
![]() |
![]() |
![]() |
#5 |
Bannato
Iscritto dal: May 2003
Città: Roma
Messaggi: 3642
|
devi usare il #pragma
per es, supponi ti serve la libreria w2_32.lib (la winsock2 per intenderci) allora poni sotto gli include #pragma comment (lib,"ws2_32") EASY! ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:48.