2013-03-16 25 views
14

Güncel bir Ubuntu 12.04 sistemindeyim. Unixodbc (ubuntu reposlarından v2.2.14), MySQL ve ilgili sürücüleri yüklü. Ayrıca geçerli bir DSN'ye bağlı. isql DBName UName passwd göndererek doğrulandı.sql.h başlık dosyası eksik

ODBC kullanarak veritabanıyla etkileşime giren bir C uygulaması derlemeye çalışıyorum. Aradığım hemen hemen her yerde bir yere "sql.h" kurulu olması gerektiğini belirttim. Bir find/-iname sql.h -print gösterdi ki bende yok.

Benim sorum şu: Bu nerede? Yüklemede bir şeyler ters gitti mi (hata bildirilmedi)? Hangi adımları öneriyorsunuz? Yeniden yükleme? Kaynak koddan derleme (en son sürüm?)?

cevap

22

Geliştirme üstbilgi dosyalarını almak için unixodbc-dev paketini yüklemeniz gerekir.

sudo apt-get install unixodbc-dev 

-dev paketleri derlemek ve kütüphaneye görüşme yapmak için bu başlıklarını kullanarak programları oluşturmak için gerekli gerektiren başlık dosyalarını içerir. Kütüphane dosyaları kendileri de normal paketin bir parçası olacaktır, yani sizin durumunuzda unixodbc. Belirli bir dosyayı sağlayan paket bilmek istiyorsanız

, sen apt-file kullanabilirsiniz:

sudo apt-file update 
sudo apt-file find sql.h 
+0

Çok teşekkürler Tuxdude. Oldukça önemsiz bir şey olduğunu biliyordum. Ve apt-file'deki ipucu için teşekkürler. Daha kolay arama yapar – Richard

+1

Bir kenara göre, pkg-config 'sorusunun gelecekteki izleyicileri için derleme zamanı ve bağlantı zamanında kullanım için ilgili dizinleri ve kütüphaneleri bulmanıza yardımcı olabilir. Daha fazla bilgi için man sayfasına bakın. Onlar hakkında "bilmek" gerektiğini unutmayın. Repo'lardan kütüphane paketleri genellikle "pkg-config" – Richard

+0

FYI için "bilinen" ayrıntıları yapacağı şekilde kurulur, Ubuntu 14.04'te sudo apt-file find sql.h' çalışmasının sonucu bu satırı içerir unixodbc-dev:/usr/include/sql.h' –

İlgili konular