Bonjour a tous,
@Ekim : Je t'invite a lire le contenu de ce
lien
La gestion en projet (fichier *.pbp) facilite la compilation avec divers compilateurs PB en 32 et 64-bits
Prenons un cas d'école, j'ai un fichier
sleep.pb a compiler en 32 et 64-bits
Si j'ai créé un fichier
sleep.pbp pour gérer cela,
il me suffit dans PB d'activer le menu
Compiler/Build all Targets
pour obtenir automatiquement tous les *.exe en 32 et 64-bits
Pour l'exemple, j'ai un dossier C:\PB\PB2\SLEEP\ qui contient les 2 fichiers en question.
Dans ce dossier je crée un dossier x64 et un dossier x86 ce qui donne:
- C:\PB\PB2\SLEEP\x64
C:\PB\PB2\SLEEP\x86
C:\PB\PB2\SLEEP\sleep.pb
C:\PB\PB2\SLEEP\sleep.pbp
Code du fichier sleep.pb
Code : Tout sélectionner
;************************************************************************
;Titre : sleep.pb
;Auteur : (C) 2019 CAGE
;Date : 2019/02/17
;Version PB : PureBasic 5.70 LTS (Windows - x86)
;Version PB : PureBasic 5.70 LTS (Windows - x64)
;Compiler Options
;Compiler Options : Executable format: Console
;Compile/Run : Create temporary executable in the source directory
;
;Libairies: aucunes
;
;************************************************************************
;
EnableExplicit ; all the variables must be declared
OnErrorGoto(?ErrorHandler)
Define count = CountProgramParameters()
Define info.s, myparam.s
Define result, seconds
Define rcode = #False
#myhome = "pbcage.free.fr"
If count
myparam = ProgramParameter(0)
seconds = Val(myparam)
For count = 1 To seconds
Delay(1000)
Next
rcode = #True
Else
OpenConsole()
PrintN(#Null$)
PrintN("Arguments are: Sleep <seconds>")
PrintN(#Null$)
PrintN(#myhome)
CloseConsole()
rcode = #False
EndIf
ErrorHandler:
End rcode
Code du fichier sleep.pbp
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.purebasic.com/namespace" version="1.0" creator="PureBasic 5.70 LTS (Windows - x64)">
<section name="config">
<options closefiles="0" openmode="1" name="sleep (x64) Project"/>
</section>
<section name="data">
<explorer view="..\..\Program Files\PureBasic\Examples\" pattern="0"/>
<log show="1"/>
<lastopen date="2019-02-17 14:45" user="admin" host="EBCAGE"/>
</section>
<section name="files">
<file name="sleep.pb">
<config load="0" scan="1" panel="1" warn="1" lastopen="1" panelstate="+"/>
<fingerprint md5="e7d0ab8f02a9581a7dc46343e768d86c"/>
</file>
</section>
<section name="targets">
<target name="Default Target" enabled="1" default="1">
<inputfile value="sleep.pb"/>
<outputfile value="sleep.exe"/>
<compiler version="PureBasic 5.70 LTS (Windows - x64)"/>
<executable value="sleep.exe"/>
<options unicode="1" debug="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="0">sleep.ico</icon>
<format exe="console" cpu="0"/>
<versioninfo enable="1">
<field0 value="19,02,0,17"/>
<field1 value="19,02,0,17"/>
<field2 value="CAGE"/>
<field4 value="19.02.17"/>
<field5 value="19.02.17"/>
<field7 value="sleep.exe"/>
<field8 value="sleep.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
<target name="Default Target (x64)" enabled="1" default="0">
<inputfile value="sleep.pb"/>
<outputfile value="x64\sleep.exe"/>
<compiler version="PureBasic 5.70 LTS (Windows - x64)"/>
<executable value="x64\sleep.exe"/>
<options unicode="1" debug="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="0">sleep.ico</icon>
<format exe="console" cpu="0"/>
<versioninfo enable="1">
<field0 value="19,02,0,17"/>
<field1 value="19,02,0,17"/>
<field2 value="CAGE"/>
<field4 value="19.02.17"/>
<field5 value="19.02.17"/>
<field7 value="sleep.exe"/>
<field8 value="sleep.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
<target name="Default Target (x86)" enabled="1" default="0">
<inputfile value="sleep.pb"/>
<outputfile value="x86\sleep.exe"/>
<compiler version="PureBasic 5.70 LTS (Windows - x86)"/>
<executable value="x86\sleep.exe"/>
<options unicode="1" debug="1"/>
<purifier enable="1"/>
<temporaryexe value="source"/>
<icon enable="0">sleep.ico</icon>
<format exe="console" cpu="0"/>
<versioninfo enable="1">
<field0 value="19,02,0,17"/>
<field1 value="19,02,0,17"/>
<field2 value="CAGE"/>
<field4 value="19.02.17"/>
<field5 value="19.02.17"/>
<field7 value="sleep.exe"/>
<field8 value="sleep.exe"/>
<field9 value="© CAGE"/>
<field10 value="This software is the property of the author : CAGE"/>
<field11 value="0"/>
<field12 value="0"/>
</versioninfo>
</target>
</section>
</project>
Dans la section
<section name="targets"> tu remarqueras 3 sous sections
<target name=
Ces 3 sous sections sont pratiquement identiques a part le nom de la sous section, le compilateur a utiliser et le dossier ou créer l'exécutable.
J'espère que cet exemple t'aidera,
CAGE