2010-03-09 4 views
2

Lorsque vous essayez de nouveaux logiciels et la compilation avec le processus ./configure, make, make install classique, je vois souvent quelque chose comme:Y a-t-il un indice de dépendance C++ quelque part?

 
error: ____.h: No such file or directory 

Parfois, je reçois beaucoup de chance et apt-get install ____ installe la pièce manquante et tout va bien. Cependant, cela n'arrive pas toujours et je finis par googler pour trouver le paquet qui contient ce dont j'ai besoin. Et parfois le paquet est la mauvaise version ou saveur et est déjà utilisé par un autre paquet que j'ai téléchargé.

Comment les utilisateurs savent-ils quels paquets contiennent les fichiers .h ou la ressource dont le compilateur a besoin? Existe-t-il un site Web de résolveur de dépendance ou quelque chose que les gens utilisent pour décoder les versions qui ont échoué dans les paquets manquants? Existe-t-il une méthode plus moderne de téléchargement et d'installation automatique des dépendances transitives pour une construction (un peu comme le Maven de Java)?

Répondre

3

Vous pouvez également utiliser "auto-apt ./configure" (sur Ubuntu, et probablement aussi sur Debian?) Et il tentera de télécharger les dépendances automatiquement.

3

S'il s'agit d'un paquet dans Debian, vous pouvez utiliser pour obtenir tous les fichiers.

Sinon, lisez le fichier README fourni avec le programme. Il est à espérer qu'il liste tous les fichiers de ce programme.

0

Les paquets requis seront listés dans la documentation pour construire le paquet. Si elle indique que vous avez besoin de foo, vous voudrez probablement rechercher foo et foo-devel, et peut-être libfoo-devel. Si cela ne fonctionne pas, dans Fedora je ferais quelque chose comme

yum install install /usr/include/_____.h 

(yum va chercher le paquet contenant ledit fichier). Si rien de ce qui précède ne fonctionne, cherchez le nom du fichier dans Google, cela devrait vous indiquer le paquet d'où il vient. Mais alors les choses vont devenir difficiles ...

Questions connexes