Je suis devant un petit problème, je veut créer un projet DLL mais C::B me créé un projet C++ et non C, d'ailleurs il me propose même pas le choix du langage
Comment puis-je faire ?
![]()
Je suis devant un petit problème, je veut créer un projet DLL mais C::B me créé un projet C++ et non C, d'ailleurs il me propose même pas le choix du langage
Comment puis-je faire ?
![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Bon j'ai temporairement résolu le problème en changeant le compilateur dans les options du toolchain et j'ai mis celui pour le C mingw32-gcc.exe
Je laisse le sujet ouvert à toutes meilleures propositions![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Bonjour Franck.H,
Je vais supposer soit que tu disposes de la dernière version de c::b, soit qu'il agit de façon identique pour les deux dernières version.
Ton problème est facilement solvable : le fichier généré est main.cpp, il suffit de le changer en main.c afin que la compilation se fasse en C.
C'est en effet un problème qui m'a joué quelques tours.
La différence entre un projet C et un projet C++ réside uniquement dans l'extension des fichiers.
Je n'ai pas encore trouvé malgré mes recherches comment se configurait la mise en relation entre l'extension et la ligne de compilation associée. J'ai bien peur que ce ne soit built-in, chose que je trouve dommage car cela permettrait plus facilement l'utilisation d'autres langages...
J'ai trouvé.
Tout d'abord si vous voulez faire compiler en C un fichier.cpp, clic droit -> Properties -> Advanced, changez la Compiler variable de CPP à CC. (à noter qu'une commande de build custom est possible, mais ce serait refaire un travail inutilement).
Ensuite, on peut ajouter des lignes de commandes de compilation/link/génération des dépendances/etc. dans Settings -> Compiler -> Global Compiler Settings -> Other Settings -> Advanced Options. /!\ Ne touchez pas ceci à la légère /!\.
Ces quelques découvertes vont encore m'aider à apprécier C::B surtout lorsqu'il s'agit de gérer des cas récalcitrants, par exemple cmake pour ne citer que lui (et plus globalement, puisque j'ai commencé à m'essayer au développement web avec C::B...).
En espérant que cela solutionne plus proprement ton problème que de virer le compilo c++ comme un malpropre.
Tu suppose bien
Même pas, c'est la première chose que j'ai faite après le premier essai de compilation. Le compilateur s'arrêtait tout le temps sur cette ligne (normal, elle est là pour ça) J'avais d'ailleurs même édité le script pour qu'il me génère directement un fichier C
Ta solution ci-dessous fonctionne à merveille par contre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #ifdef __cplusplus #error This source file is not C++ but rather C. Please use a C-compiler #endif
Ca marche au poilPar contre faut le faire pour tous les fichiers alors, heureusement que j'en ai que deux dans ma DLL
Pareil, je n'utilise que celui-ci depuis quelques années maintenant et jamais vraiment été déçu. Des fois leur InteliSense laisse encore à désirer mais ils y arriveront un jour
Je l'utilise pas ce foutu compilo C++
![]()
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Ah, à noter, je ne sais pas si tu l'as essayé, j'ai oublié de le préciser : en même temps de changer le .cpp en .c il faut supprimer le fichier du projet, le renommer, le rajouter (ceci afin de permettre à c::b de faire l'étape où il choisis le type de compilo).
Corriger le script n'est pas une mauvaise idée ^^
Edit : +1 pour le parser un peu à la ramasse parfois ^^ (pour le C++11 c'est pas le pied par exemple ^^' même si on note des efforts notables), je crois que ce plugin est en cours de réécriture complète...
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Partager