web-dev-qa-db-fra.com

Quel paquet fournit -llua pour g ++?

J'ai installé tous les packages de développement lua5.1 à partir de Synaptic et l'éditeur de liens g ++ ne trouve pas -llua. J'ai lu sur une autre question qu'il est possible que -llua ait un autre nom et que je devrais le corriger. Mais le problème est que je n'arrive pas à trouver le lua.o ou peu importe comment il s'appelle.

6
Aleksandar

gcc … -llua recherche un fichier appelé liblua.so si vous établissez une liaison dynamique (valeur par défaut) ou liblua.a si vous effectuez une liaison statique.

Vous pouvez rechercher le (s) paquet (s) contenant un fichier portant un certain nom avec apt-fileInstall apt-file . Vous pouvez également effectuer cette recherche en ligne sur packages.ubuntu.com (“Rechercher le contenu du paquet”, assurez-vous de sélectionner votre distribution et votre architecture). Mais…

$ apt-file search liblua.so
$

Ce qui se passe, c’est que Ubuntu fournit plusieurs versions des bibliothèques Lua, qui ne sont pas compatibles binaires, c’est-à-dire que vous devez sélectionner celle que vous voulez au moment de la construction.

$ apt-file --regexp search '/liblua.*\.so$'
<lots of hits>

À partir de natty, la version préférée de Lua est 5.1 , avec 5. et 4. également disponible. Les bibliothèques lua correspondantes pour la liaison sont liblua5.1.so, liblua50.so et liblua40.so (vous pouvez répertorier les fichiers d'un paquet avec dpkg -L liblua5.1-0-dev ou apt-file list liblua5.1-0-dev). Vous devez donc modifier votre commande de liaison en -llua5.1 (ou -llua50 ou -llua40 si vous avez besoin d’un binaire compatible avec les systèmes plus anciens).

5
Gilles