web-dev-qa-db-fra.com

fichier d'en-tête sql.h manquant bien que unixODBC soit installé

Je suis sur un système Ubuntu 12.04 à jour. J'ai unixodbc (v2.2.14 de repos ubuntu), MySQL et ses pilotes pertinents installés. Également connecté à un DSN valide. Vérifié en émettant isql DBName UName passwd.

J'essaie de compiler une application C qui interagit avec la base de données en utilisant ODBC. Presque partout où j'ai cherché, cela semblait indiquer que j'aurais dû installer "sql.h" quelque part. UNE find / -iname sql.h -print a montré que je ne l'ai pas.

Ma question est donc: où est-elle? Quelque chose s'est-il mal passé avec l'installation (aucune erreur n'a cependant été signalée)? Et quelles étapes recommandez-vous? Réinstallation? Compilation à partir du code source (la dernière version?)?

19
Richard

Vous devez installer le unixodbc-dev package pour obtenir les fichiers d'en-tête de développement.

Sudo apt-get install unixodbc-dev

Le -dev les packages contiennent les fichiers d'en-tête requis requis pour compiler et construire des programmes utilisant ces en-têtes pour appeler la bibliothèque. Les fichiers de bibliothèque eux-mêmes feraient partie du package standard, c'est-à-dire unixodbc dans votre cas.

Si vous voulez savoir quel package fournit un certain fichier, vous pouvez utiliser apt-file:

Sudo apt-file update
Sudo apt-file find sql.h
39
Tuxdude