2017-09-24 9 views
0

J'ai ouvert un projet dans CodeBlocks, qui se construit et s'exécute avec succès. Maintenant, si j'ouvre un autre fichier C dans l'EDI, la commande build and run va agir sur le projet ouvert existant et non sur le nouveau fichier C. S'il y avait plusieurs projets, nous pouvons basculer entre eux en utilisant "activer le projet". Mais qu'en est-il s'il y a un projet actif et un autre fichier C en dehors du projet? Comment compléter et exécuter le fichier C alors?Comment compiler et exécuter un fichier C dans CodeBlocks qui est en dehors d'un projet?

+0

vous pouvez avec l'aide d'un petit truc –

+0

Votre question est peut-être « comment configurer codeblock pour qu'il compile un seul fichier C en dehors de mon projet en cours », mais qui est une question très différente. –

+0

J'ai un projet supplémentaire "quick_test" (avec un fichier source unique) que je peux ouvrir et coller le code que je veux tester. Puis revenez au projet principal. –

Répondre

0

Si le fichier ne fait pas partie d'un projet, je doute que vous puissiez le compiler avec n'importe quel IDE. Vous avez probablement besoin de le compiler manuellement ou de créer un projet pour cela.

Les IDE sont créés pour gérer des projets entiers, pas un seul fichier.

+0

Bien sûr, pour un seul fichier, ils ont également été créés.Sinon, vous ne pouvez pas utiliser/créer un seul fichier, alors que vous pouvez –

+0

'Si le fichier ne fait pas partie d'un projet, je doute que vous puissiez compiler' Eh bien, CB le fait. – HolyBlackCat

1

Code::Blocks est pas un compilateur, mais un IDE.

Comment compiler et exécuter un fichier C dans CodeBlocks qui est en dehors d'un projet?

Il exécute des commandes de compilation, probablement en utilisant GCC (mais également Clang). C'est le compilateur qui compile votre code (pas CodeBlock).

Donc vous ne compilez pas avec CodeBlocks.

(BTW, retirez gcc sur votre système, et CodeBlocks deviennent inutiles pour construire une -Les deux de programme à l'intérieur d'un projet ou Fichier- unique à partir du code C)

Pour compiler foo.c dans certains programmes fooprog vous voulez exécuter quelque chose comme

gcc -Wall -Wextra -g foo.c -o fooprog 

et vous voudrez peut-être d'autres arguments à gcc (par exemple, certains -I ou -D pour pré-traitement, certains -L ou -l pour lier des bibliothèques). Leur commande est importante. Lire le chapitre sur invoking GCC. Le -Wall -Wextra demande tous les avertissements et plus d'entre eux. Le -g demande des informations de débogage. Le -o fooprog nécessite de sortir l'exécutable fooprog ... Les détails peuvent être spécifiques au système d'exploitation.

Vous pouvez exécuter cette commande gcc dans un terminal. Peut-être que CodeBlock pourrait être configuré pour l'exécuter en quelque sorte (c'est une question très différente). Vous pouvez également en apprendre davantage sur build automation. Considérez GNU make ou ninja, etc ... Votre Makefile pourrait construire plusieurs exécutables (avec une commande simple make, et vous pouvez configurer votre EDI ou éditeur pour l'exécuter).

Notez que de nombreux projets free software (sur github, sourceforge, etc, etc ...) ne sont pas qu'exiger l'un IDE particulier (mais sont construits en utilisant une version du logiciel d'automatisation). Cela pourrait faire sonner les cloches dans votre tête. Bon source code editors (tel que emacs ou vim) sont capables d'exécuter des commandes de construction (aussi bien, et plus généralement, que les IDE). Peut-être devriez-vous envisager de les utiliser.

+1

c'est une question claire sur ** codeblock ** pas ** gcc ** et ses drapeaux. –

+0

Mais vous ne compilez pas avec CodeBlock car ce n'est pas un compilateur; essayez par exemple de supprimer 'gcc' et CodeBlock devient inutile –

0

Avec un petit tour vous pouvez.

Suivez-moi une version de test:

  1. créer un nouveau projet
  2. ouvert ce projet, puis l'exécuter. Il fonctionne bien sûr
  3. ouvrir votre fichier unique, à ce stade, codeblock participe au projet actif, et si vous passez à votre seul fichier et appuyez sur: Ctrl + F9 il construit encore votre projet et pas votre seul fichier
  4. , tous les projets dans le menu: file
  5. fermer tous les fichiers dans le menu file
  6. rouvrez votre projet et votre seul fichier

maintenant sur votre projet frappé:

  • Ctrl + F9 pour construire
  • puis Ctrl + F10 pour run il fonctionnera (= ou F9 pour les deux)

également essayer ceci sur votre seul fichier, alors votre fichier unique fonctionnera aussi bien.


ont été testés sur Code :: Blocks 16.04; 32 bits Ubuntu

+0

Ne fonctionne pas sur Windows 10, s'il y a un projet actif et un autre fichier ouvert, en appuyant sur F9 alors que l'ouverture du fichier unique construit et exécute le projet. Le fichier autonome ne compile pas et ne s'exécute que si je ferme tous les projets. – asdf

+0

@asdf. Vous devez fermer tous les fichiers et projets après les avoir créés et les ** rouvrir ** à nouveau. Je l'ai fait plusieurs fois –

+0

@asdf voir ma réponse. – aks

2
  1. Sous l'onglet Projects à gauche, cliquez sur le bouton droit de votre projet et cliquez sur Close project. Faites ceci pour tous les projets qui sont ouverts. Maintenant, si votre fichier C est ouvert, appuyez simplement sur F9 pour compiler et exécuter votre programme.

Il est facile de compiler et exécuter un seul fichier C dans le Code :: Blocks:

  1. Pour créer le fichier, cliquez sur File ->New ->Empty file
  2. Après avoir tapé la code, enregistrez-le avec l'extension .c. Appuyez sur F9 pour compiler et exécuter le programme.