GCC için başlık dosyaları nerede bulunur?


10

Manuel olarak math.hve graphic.hiçin bazı başlık dosyaları eklemek istiyorum gccancak nereye koyacağımı bilmiyorum.

Yanıtlar:


13

Önce /usr/includeveya ' a bir göz atın /usr/local/include.

Orada hiçbir şey bulamazsanız, deneyin:

`gcc -print-prog-name=cc1plus` -v

Bu komut gcc'ye hangi C ++ ön işlemcisini kullandığını sorar ve sonra bu önişlemcinin nerede aradığını içerir.

Özel kurulumunuz için güvenilir bir cevap alacaksınız.

Aynı şekilde, C önişlemcisi için:

`gcc -print-prog-name=cc1` -v

6

Yalnızca dosyanın nereye yerleştirildiğini bilmek istiyorsanız, locate komutunu kullanın:

locate -b '\math.h'
locate -b '\graphics.h'

Belki daha önce veritabanınızı güncellemek için ek bilgileriniz vardır:

sudo updatedb

Üstbilgilerimin yerini arama şeklim bu. Bul komutunu kullanmaktan çok daha hızlıdır .


math.hzaten mevcut olmalı. Örnek:/usr/include/c++/7.3.0/math.h
Knud Larsen

Normalde kütüphaneyi gcc adıyla dahil edersiniz. C -o name
-lm

Ters eğik çizgi, temel adlarında önceki karakterlere sahip dosyaların eşleşmesini önlemek için nasıl davranır? Dize \math.hdeğerlendirmek gerekir math.h, ancak görüyorum ki ve \math.hgibi eşleşen dosyaları önler . tgmath.hquadmath.h
user001

1
'Man locate' FROM: Tam olarak NAME (* NAME * değil) adlı bir dosyayı aramak için, locate -b '\ NAME' kullanın \ \ bir globbing karakteri olduğundan, NAME'nin * NAME * tarafından örtülü olarak değiştirilmesini devre dışı bırakır.
abu_bua

Teşekkürler. Kontrol ettim man locate, ama sanırım locate(1)man sayfasının farklı bir versiyonuna sahibim (ki bir örneği yok \ ).
user001
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.