IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Compilation en ligne


Sujet :

Delphi

  1. #1
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut Compilation en ligne
    Bonjour à tous.

    Ce message concerne DELPHI RIO et Windows (10/11)

    Pour un problème de gestion de version, on me demande de pouvoir compiler les projets Delphi depuis GITLAB. Donc de les compiler en ligne, et cela est tout nouveau pour moi.

    Pour débuter, on me demande de valider ce process. J'ai pris un projet qui se compile avec l'IDE et qui est fonctionnel. Je dois essayer (et arriver) de le compiler en ligne.

    Voila ou j'en suis:
    A) J'ai crée une structure de répertoires identique a celle qu'attends GITLAB.

    B) Dans cette structure se trouvent des dossiers réceptacle pour des *.pas , *.Dfm, *.Dpr ,*.dproj... les fichiers nécessaires aux compilations des projets.

    C) Dans l'IDE, j'ai (essayé) de bien configurer les options de compilations:
    - Tous les chemins de destinations, les chemins de recherches, mes directive de compilation... afin qu'elles soient toutes indiquées dans le fichiers*.dproj.

    D) Ensuite je sais que je dois utiliser MSBUILD.exe , mais il n'existe pas dans mon installation Delphi.
    Est ce un installateur spécifique ?
    Est-ce une option à activer lors de l'installation standard ?
    En plus du fichier MSBUILD.exe, y a t il d'autres besoins ?
    Pour compiler en ligne est il nécessaire d'installer l'intégralité de l'environnement Delphi ?

    si vous savez ou je peux trouver de l'aide sur ce genre de manip , je suis preneur !

    merci a tous et bonne soirée.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  2. #2
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 719
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 719
    Par défaut
    Citation Envoyé par petitcoucou31 Voir le message
    D) Ensuite je sais que je dois utiliser MSBUILD.exe , mais il n'existe pas dans mon installation Delphi.
    C'est pas plutôt drcc32.exe ?

    https://docwiki.embarcadero.com/RADS...ommande_Delphi
    https://docwiki.embarcadero.com/RADS...ne_de_commande
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - VSCode
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 182
    Par défaut
    +1 avec Lung.
    MSbuild est l'outil de Microsoft Visual Studio, rien à voir avec Delphi.

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 277
    Par défaut
    DCC32 ou DCC64 selon la cible, on peut aussi utiliser BDS qui s'autorise plus dé mémoire pour compiler.

    Sinon MSBuild a été utilisé par Delphi, le format DPROJ, vient ce lui en réalité.
    Aide via F1 - Utilisez l'I.A. - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité ! Sachez-le : l'IA remplace la très grande majorité des développeurs, pas seulement les ignares ...

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 569
    Billets dans le blog
    10
    Par défaut
    C'est une option dans le compilateur

    Nom : Capture d’écran 2026-06-23 120956.png
Affichages : 92
Taille : 33,7 Ko

  6. #6
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut
    Bonjour à tous.

    On m'avait indiqué que le fait d'utiliser MSBUILD, qui "serait livré" avec l'installeur de Delphi permettrai d'utiliser directement de *.dproj (donc plus simple, tous le projet étant référence dans ce fichier). Mais je ne le trouve pas dans mon installation Delphi. Donc j'ai laissé tomber cette voie.

    J'ai regardé "Drcc.32", qui est aussi plus documentés : exemple Doc wiki (lung). J'ai écris un script qui doit compiler un projet qui se compile correctement depuis l'IDE.

    Et ma 1ere erreur est => "C:\structure GIT\Phoenix\Phoenix.dpr(80) Fatale: F2613 Unité 'Forms' non trouvée."

    - Dans le script, j'ai indiqué le chemin des sources VCL de Delphi. Mais le compilateur ne trouve rien. quand je lance une recherche sur mon disque je ne trouve que: Vcl.Forms.pas - Vcl.Forms.dcu - et pas de Forms.pas ou Forms.dcu ! et cela va être identiques pour toutes les unités VCL ou RTL décrites dans les sources.

    - Je suppose une subtilité entre la compilation depuis IDE et en ligne, qui devraient utiliser les mêmes fichiers pour les deux types de compilation ?. Peut être que d'IDE supprime le "spacename" devant les noms d'unités.

    - Ma version de Delphi est la RIO (10.3) => "version professionnelle with mobile". Est il normal de pas avoir les *.PAS et *.DCU Delphi justement nécessaire a une compiler en ligne ?

    Si des idées vous passent par la tête, je suis preneur.

    Merci à vous.

    voila ou j'en suis, cela vous parle t il ?
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  7. #7
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut
    Bonjour ALWEBER

    Dans l'option que tu me montres, ce n'est pas plutôt pour d'indiquer à l'IDE d'utiliser MsBuild pour compiler ou construire le projet en cours ?

    bonne journée
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  8. #8
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 569
    Billets dans le blog
    10
    Par défaut FinalBuilder
    De mémoire c'est cette option que j'activais pour l'utiliser et dans L'idE et dans finalbuilder

  9. #9
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    6 026
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 6 026
    Par défaut
    Citation Envoyé par petitcoucou31 Voir le message
    - Dans le script, j'ai indiqué le chemin des sources VCL de Delphi. Mais le compilateur ne trouve rien. quand je lance une recherche sur mon disque je ne trouve que: Vcl.Forms.pas - Vcl.Forms.dcu - et pas de Forms.pas ou Forms.dcu ! et cela va être identiques pour toutes les unités VCL ou RTL décrites dans les sources.
    Depuis les options de compilation de ton projet, copie le contenu de Noms de portées d'unités et passe-le en paramètre dcc32 -NSWinapi;System.Win;Data.Win;....

  10. #10
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 277
    Par défaut
    Pour compiler un truc simpliste c'est déjà une ligne de commande assez musclé :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files (x86)\Embarcadero\Studio\17.0\bin\dcc64.exe" -B -Q -DRELEASE -$D0 -$L- -$Y-  -H -W -B -R"C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\Win64\release" -NSSystem.Win;System;Winapi;Vcl; -E..\bin\ -NU..\dcu\RELEASE\ -K00400000 getDCU.dpr

    D'ailleurs sans le DPROJ, il faut gérer le manifest manuellement par exemple
    Aide via F1 - Utilisez l'I.A. - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité ! Sachez-le : l'IA remplace la très grande majorité des développeurs, pas seulement les ignares ...

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  11. #11
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut
    Bonjour a tous.

    Et merci pour vous aides.

    j'ai passé les "Noms de portées d'unités" dans mon script et cela fonctionne.

    encore merci.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  12. #12
    Membre Expert

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 302
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 302
    Par défaut
    Bien que la question ait été répondue, je mets ceci pour information.

    Ma version de Delphi est très ancienne (XE3), je ne sais pas si c'est encore d'actualité.
    Elle permet d'utiliser msbuild et de simplifier l'appel pour la compilation pour un groupe de projet (je ne l'ai utilisé que dans ce cas là):

    Dans un bat:
    Code cmd : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cd "Chemin où se situe AllProjects.groupproj"
    call "c:\Program Files (x86)\Embarcadero\RAD Studio\10.0\bin\rsvars.bat"
    msbuild.exe /target:Build /p:config=Debug /p:DCC_ExeOutput="MonCheminDeSortie" "AllProjects.groupproj"
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2022

Discussions similaires

  1. [WebForms][CR] Compilation en ligne de commande et etat Crystal
    Par David.V dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 01/02/2009, 23h58
  2. Compilation par ligne de commande
    Par Dupont Lionel dans le forum MFC
    Réponses: 2
    Dernier message: 21/10/2005, 13h29
  3. [ASM] - Compiler des ligne ASM
    Par TOTO32 dans le forum Langage
    Réponses: 10
    Dernier message: 03/09/2005, 17h27
  4. [Kylix] Kylix2: compilation en ligne?
    Par Invité dans le forum EDI
    Réponses: 1
    Dernier message: 15/06/2004, 10h06
  5. [compilateur] Compilation en lignes d'un projet
    Par SpirouF40 dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/11/2002, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo