Maison > développement back-end > C++ > le corps du texte

## Comment puis-je utiliser plusieurs compilateurs pour C dans un seul projet CMake ?

Patricia Arquette
Libérer: 2024-10-26 18:05:03
original
622 Les gens l'ont consulté

## How Can I Use Multiple Compilers for C   in a Single CMake Project?

CMake : navigation dans plusieurs compilateurs pour un seul langage

CMake adhère au principe d'attribution d'un seul CMAKE_CXX_COMPILER pour tous les fichiers source C au sein d'un Fichier CMakeLists.txt. Cette approche pose des défis lorsque l'on tente de combiner l'hôte et la compilation croisée dans un seul fichier CMakeLists.txt.

Le dilemme : plusieurs compilateurs pour le même langage

Selon la question initiale, le nœud du problème réside dans la recherche d'une solution pour utiliser plusieurs compilateurs pour le même langage, en particulier C.

Le compromis : options limitées

Malheureusement , la conception de CMake ne répond pas facilement à cette exigence. CMake conserve un ensemble unique de propriétés du compilateur qui s'appliquent à toutes les cibles d'un fichier CMakeLists.txt. Par conséquent, pour utiliser plusieurs compilateurs, il est nécessaire d'exécuter CMake deux fois.

Alternatives : commandes personnalisées ou fichiers séparés

Une solution de contournement implique essentiellement l'utilisation de commandes personnalisées. créer des scripts shell glorifiés. Cependant, cette approche s'écarte de l'objectif souhaité.

Une solution plus propre implique de séparer les processus de compilation en fichiers CMakeLists.txt distincts. Bien qu’il empêche la liaison entre différentes architectures, il élimine le besoin de code redondant. Pour maintenir la cohérence, les sections communes des scripts CMake peuvent être extraites dans des fichiers séparés et incluses via la fonction include().

Inconvénients : commodité pour la complexité

Le principal L'inconvénient de cette approche est la perte de la compilation en une seule commande. Pour atténuer cela, un script wrapper peut être créé dans un langage de script préféré pour appeler les commandes CMake nécessaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal