Bonjour,

Je compile du code visual c++ .Net 2003 avec nmake.exe "le compilateur visual c++".

Je veux savoir si c'est possible de compiler du code visual c++ sans fichier .cpp et fichier .h? Je veux dire par la peut on mètre le code c++ directement dans le fichier "Makefile" pour ne pas avoir besoin de fichier .cpp et .h?

Et si c'est possible peut on mètre le code du fichier "Makefile" dans les ligne de commande du fichier ".bat"?

Pour avoir tout le code dans un seule fichier.bat.


Ici j'ai mit un exemple qui va compiler le code "visual c++ .Net 2003" des fichiers "Skeleton.cpp" et "Skeleton.h". Ici c'est un exemple avec 4 fichiers "Skeleton.cpp" et "Skeleton.h" et "Make.bat" et "Makefile".

voici le code du fichier "Make.bat"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
set TOOLKIT=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7
set MS_SDK=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK
 
set PATH=%TOOLKIT%\bin;%MS_SDK%\bin;%PATH%
set INCLUDE=%TOOLKIT%\include;%MS_SDK%\include;%INCLUDE%
set LIB=%TOOLKIT%\lib;%MS_SDK%\lib;%LIB%
 
call "%VS71COMNTOOLS%vsvars32.bat"
 
nmake
 
pause
et voici le code du fichier "Makefile"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
OUT=Skeleton
OBJS=Skeleton.obj
 
all: $(OUT)
	@echo Compilation completed
 
 
CDFLAGS=/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FD /EHsc /RTC1 /MLd /YX"stdafx.h" /W3 /nologo /c /ZI /TP
LDFLAGS=/NOLOGO /DEBUG /SUBSYSTEM:WINDOWS /MACHINE:X86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libcd.lib
 
{}.cpp{}.obj:
	@cl $(CDFLAGS) $<
 
$(OUT): $(OBJS)
	@link $(LDFLAGS) $(**B) /OUT:$(OUT).exe
 
clean:
	@erase /q *.idb & @erase /q *.obj & @erase /q *.pch &	@erase /q *.pdb & @erase /q *.ilk
mrproper: clean
	@erase /q *.exe
Ce code permet de créer le programme "Skeleton.exe".

Merci