2013-03-12 4 views
7

J'essaie de transférer du code d'une boîte Solaris vers une boîte Linux (en particulier Redhat). Code compilé sans problèmes et exécuté sans problèmes sur la boîte Solaris.Tcl.h: aucun fichier ou répertoire de ce type

Cependant, lors de la recompilation sur Linux, je rencontre un problème avec tcl.h - le compilateur me dit que error: tcl.h: No such file or directory pour plusieurs fichiers #include "tcl.h".

Pour autant que je peux dire, à la fois tcl8.4 & tk8.4 sont installés:

  • /usr/lib/tcl8.4
  • /usr/share/tcl8.4
  • /usr/lib/tk8.4
  • /usr/share/tk8.4

Cependant, je ne peux pas trouver tcl.h partout. Est-ce que quelqu'un sait où ce serait? Ou est-ce un de ces fichiers dont Solaris a besoin, mais Linux n'a pas besoin d'être inclus? Ou même ai-je besoin d'installer quelque chose en plus de tcl/tk 8.4?

Répondre

6

Il semble que vous n'ayez pas installé les fichiers de développement pour tcl (les bibliothèques sont généralement empaquetées séparément des en-têtes). Essayez:

$ rpm -qa | grep tcl 

Si ce n'est pas le cas, recherchez le package -devel à installer. Si c'est le cas, il peut être dans un répertoire que le compilateur n'inclut pas. Si elle est installée, vous devriez être capable de trouver le fichier avec rpm (je pense que l'option est -ql <packagename>)

+0

Yup. C'est en effet le cas. Je vous remercie. – redhotspike

9

Vous devez installer le package de développement pour obtenir les fichiers d'en-tête. En fonction de votre distribution Linux, recherchez les packages nommés tcl8.4-dev et tk8.4-dev.

+2

Vous pouvez installer apt-file, puis faire '' apt-file search '*/tcl.h''' pour voir quel paquet contient ce fichier. – Intrepidd

+0

C'est tout. Bon chagrin. Vous pensez que vous avez tout ce dont vous avez besoin et des semaines plus tard, vous manquez toujours des articles critiques lol Merci. – redhotspike

Questions connexes