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 poil Par 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 !
Au passage, une autre chose un peu naze, c'est le Build Target dans les propriétés du projet, on te proposes Windows, Linux, Mac mais il ne prend tout de même en compte que Windows, le compilateur pourrait être créé de façon a ce qu'on puisse produire du code natif pour d'autres système car :
Je ne vois pas l'intérêt de le proposer"C_Str_dll - Release" does not support the current platform. Skipping...
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 !
Disons que c'est utile dans certains cas. Je m'en sers pour faire un .cbp qui couvre les bêtises de cmake ^^ ça permet par exemple de faire une virtual target unique "All" qui contient aussi bien les targets destinés à linux qu'à windows ainsi lorsqu'on exécute All seuls les targets destinées à la plateforme actuelle sont exécutés.
Vu comme ça oui pourquoi pas
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 !
La seule chose que je reproche aux virtual targets c'est de ne pas permettre d'inclure d'autres virtual targets .
Sincèrement j'en découvre tous les jours un peu plus sur c::b ^^ cet été il faut vraiment que je me mette à étudier comment créer des plugins, ça pourrait être outrageusement pratique .
Oui effectivement, surtout que dans le choix des projets tu peux même trouver des projets ARM etc... alors que pour le build target bin ça n'y est même pas
Ouais c'était aussi quelque chose que j'avais déjà en tête il y a quelques temps mais sans trouver le temps
Rien que la doc de ma lib fr/en à presque complètement remettre à jour ça va me prendre une plombe, sans compter le temps que je vais passer pour réussir à faire un svn --relocate pour mettre à jour mon dépôt SubVersion sur SourceForge car ils ont pas trouvé mieux que de déménager les serveurs de dépôt, hier j'y est passé 1h sans réussir
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 !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager