2017-08-16 1 views
1

croix compilant un espace de travail presque vide (pas de dépendances, un fichier de construction avec un groupe de fichiers vide) sur les résultats linux une erreur ...compilation croisée de code non c

bazel build //... --cpu=x64_windows_msvc 
ERROR: cc_toolchain_suite '@local_config_cc//:toolchain' does not contain a toolchain for CPU 'x64_windows' and compiler 'cl' 

Ce qui signifie que nous ne pouvons pas franchir compiler des langages non c sans un crosstool valide, cela semble être une limitation assez fondamentale. Y at-il un moyen de contourner cela?

Répondre

0

Il y a 2 questions:

  1. C toolchain fait partie de la configuration C et Bazel actuellement ne fonctionne pas sans configuration valide C.
  2. Bazel peut utiliser des outils pendant la construction, dont beaucoup sont en C, donc même si votre code n'a pas besoin de la chaîne d'outils C, certains outils qui construisent votre code le font.

Le 1. est un problème, nous y travaillons. Mais bazel s'efforce de détecter votre chaîne d'outils, donc dans la plupart des cas, aucun travail supplémentaire n'est nécessaire. Je me demande pourquoi ça ne marche pas pour toi ... Enquêtant.

+0

Bazel peut détecter une chaîne d'outils hôte active, et il suffirait de construire les outils utilisés lors de la compilation, c'est juste insuffisant pour faire une compilation croisée. Le dépôt était totalement vide, les seuls fichiers étaient les suivants: * * Workspace '' 'espace de travail (name = "test") ' '' * BUILD.bazel * '' ' filegroup (name = » test ") ' '' Il n'aurait donc pas dû essayer de construire quoi que ce soit. –