Bonjour à tous,
Je suis en tarin de faire du code pour en C++ pour une cible ARMv7-A avec un linux embarqué. Pour l'édition du code, je fonctionne actuellement avec VS Code et j'aimerais ajouter une tâche pour la compilation.
La compilation actuelle fonctionne avec un Makefile (et CMake) que je lance dans un autre terminal après avoir lancer les deux commandes suivantes:
Suite à cela, je peux lancer la commande suivante pour la génération:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 source /opt/dip/2.7-warrior+snapshot/environment-setup-armv7vet2hf-vfpv4d16-dip-linux-gnueabi source /opt/dip/2.7-warrior+snapshot/sysroots/x86_64-dipsdk-linux/environment-setup.d/cmake.sh
Pour intégrer cela à VS Code, j'ai créé un fichier tasks.json avec le contenu suivant qui permet de lancer la commande pour la génération:
Code : Sélectionner tout - Visualiser dans une fenêtre à part make build
Mon soucis est le suivant: les deux commandes "source" misent plus haut doivent être lancé avant la commande de génération. Le lancement d'une tâche m'ouvre un nouveau terminal qui n'a donc pas ces informations et l'ajout de celles-ci dans le .bashrc ne semble pas être pris en compte car j'ai toujours la même erreur me disant que l'environnement de cross-compilation doit être mis en place.
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
22
23
24
25
26
27
28 { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "Build app", "type": "shell", "command": "make", "args": ["build"], "group": "build", "presentation": { "reveal": "always", "panel": "new" }, "problemMatcher": ["$gcc"] }, { "label": "Run make clean on folder", "type": "shell", "command": "make clean", "presentation": { "reveal": "always", "panel": "new" } } ] }
Je viens donc vers vous pour savoir si quelqu'un sait comment configurer la tâche correctement pour que la génération du projet se fasse.
Merci d'avance pour vos réponses.
Partager