Compiler une DLL depuis un programme

Compiler une DLL depuis un programme - C++ - Programmation

Marsh Posté le 16-05-2003 à 09:34:59    

Salut,
je voudrai pouvoir compiler un projet de dll depuis un programme.
y a une commande "msdev" qui semble le faire mais je vois pas comment l'utiliser.
qqun aurait des details sur son utilisation?
 
ps: tout est fait sous VC++
 
Merci


Message édité par Slash le 16-05-2003 à 09:42:17
Reply

Marsh Posté le 16-05-2003 à 09:34:59   

Reply

Marsh Posté le 16-05-2003 à 09:38:05    

heuh ben makefile quoi ?
t'as un truc dans VC tools->export makefile (ou dans le gere, cherche voir) et ensuite tu utilise nmake

Reply

Marsh Posté le 16-05-2003 à 09:41:32    

Voila le debut de l'aide de msdev :
 
"Building a Project from the Command Line
You can build a Visual C++ project from the command line without first exporting a makefile (MAKEFILE, or filename.mak) and using the NMAKE utility. "
 
apparement cette commande permet de se passer de l'exportation mais j'arrive pas a l'utiliser ("msdev undeclared indentifier" )
 

Reply

Marsh Posté le 16-05-2003 à 09:43:55    

dans ton rep de vc y'a un .bat qui s'appelle vcvars.bat ou dans le genre, lance le avant de faire ta commande

Reply

Marsh Posté le 16-05-2003 à 09:50:32    

je trouve aucun fichier de ce nom.
 
je lance la commande comme ca dans mon prog :
 
"msdev Geraete_dll.dsw /MAKE"geraet_dll - ALL"/Rebuild "
 
 
mais comment y saura ou est placé precisement le .dsw ?

Reply

Marsh Posté le 16-05-2003 à 09:51:51    

vcvars32.bat

Reply

Marsh Posté le 16-05-2003 à 10:00:39    

je l'ai fait mais ca ne change rien.
c'est bizarre parsk'il ne reconnais pas du tout msdev et me genere une erreur pour chaque mot de la ligne :
 
error C2065: 'msdev' : undeclared identifier
error C2146: syntax error : missing ';' before identifier 'Geraete_dll'
error C2065: 'Geraete_dll' : undeclared identifier
error C2228: left of '.dsw' must have class/struct/union type
error C2065: 'MAKE' : undeclared identifier
error C2143: syntax error : missing ';' before 'string'
error C2065: 'Rebuild' : undeclared identifier
error C2296: '/' : illegal, left operand has type 'char [17]'
error C2143: syntax error : missing ';' before '}'
Generating Code...


Message édité par Slash le 16-05-2003 à 10:01:07
Reply

Marsh Posté le 16-05-2003 à 10:01:50    

[:xx_xx]

Reply

Marsh Posté le 16-05-2003 à 10:37:19    

:heink:  
Tu l'executes comment ta ligne???

Reply

Marsh Posté le 16-05-2003 à 10:38:19    

skeye a écrit :

:heink:  
Tu l'executes comment ta ligne???


 
je crois qu'il l'a directement mise dans son code C++ [:xx_xx]

Reply

Marsh Posté le 16-05-2003 à 10:38:19   

Reply

Marsh Posté le 16-05-2003 à 10:40:16    

chrisbk a écrit :


 
je crois qu'il l'a directement mise dans son code C++ [:xx_xx]


Ben d'après les erreurs on dirait bien, mais ca me semblait tellement énorme que... :heink:  
C'est comment sous win? system() marche?

Reply

Marsh Posté le 16-05-2003 à 10:42:21    

ouaip, ou ShellExecute

Reply

Marsh Posté le 16-05-2003 à 10:45:10    

chrisbk a écrit :

ouaip, ou ShellExecute


Ce qui est bien avec toi c'est que même quand je squatte des topics pour poser des questions à la con tu me réponds...:jap:
Remarque, il a la réponse à son pb là!

Reply

Marsh Posté le 16-05-2003 à 10:46:54    

c'est mon petit coté Mere Theresa, l'aide au defavorisé, tu vois [:spamafote] :D

Reply

Marsh Posté le 16-05-2003 à 11:00:21    

chrisbk a écrit :

c'est mon petit coté Mere Theresa, l'aide au defavorisé, tu vois [:spamafote] :D


:lol:
Je remonte le topic, on sait jamais il a p-e pas vu la réponse... :ange:

Reply

Marsh Posté le 16-05-2003 à 11:42:19    

OK je me doutais bien que c t un truc comme ca  
pour info j'apprend encore et j'ai jamais utiliser de system() ou ShellExecute()
Merci pour votre aide

Reply

Marsh Posté le 16-05-2003 à 14:15:06    

Bon y a un mieux, plus que 3 erreurs.
mais y reconnait tjs pas msdev.
y aurait pas un include a faire? (rien ds MSDN)

Reply

Marsh Posté le 16-05-2003 à 14:37:54    

les " tu les faits bien précéder de \ dans ton shell ?
 
Fait voir ton code.

Reply

Marsh Posté le 16-05-2003 à 14:46:29    

Voila la ligne en question :
 
ShellExecute(msdev Geraete_dll.dsw /MAKE"geraet_dll - ALL"/Rebuild);
et j'ai tjs :
error C2065: 'msdev' : undeclared identifier


Message édité par Slash le 16-05-2003 à 14:51:00
Reply

Marsh Posté le 16-05-2003 à 16:58:50    

Mais il faut mettre des guillemets!!!
 
ShellExecute("msdev Geraete_dll.dsw /MAKE\"geraet_dll - ALL\"/Rebuild" );

Reply

Marsh Posté le 18-05-2003 à 00:10:26    

ah je savais bien que j'avais raison : pbm de guillemets ! :o

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed