Mac OS X'te Python'a bağlanan bir proje derlemeye çalışıyorum. /Library/Frameworks
'da Python 2.7 çerçevesi var. Mac OS X 4 için derledim, bu yüzden /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks
içinde Python 2.3 var. Ben -v
ile yaptığı işte -F/Library/Frameworks
ve gözetleme ile gcc
çağırmak, aşağıdaki bakın:GCC Mac OS X çerçeve arama yolu:/Sistem/Kütüphane önce/Kütüphane?
ignoring duplicate directory "/Library/Frameworks"
as it is a non-system directory that duplicates a system directory
<skipped>
#include "..." search starts here:
#include <...> search starts here:
<skipped>
/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks (framework directory)
/Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks (framework directory)
yani Bu benim /Library/Frameworks
benim yok sayıyor çünkü yineleme (/Library/Frameworks
için bir sembolik bağlantı olan son yol) ve sonra kendi Python 2.3 framework'üm 2.7'den önce bulur.
Bunun etrafından nasıl çalışacağımı anlıyorum (örneğin, içerme dizininin tam yolunu içeren -I
kullanın), ancak arama sırasına göre biraz şaşırdım. Örneğin. bağlayıcı (ld
) seems to search System/Library and Library in different order. Görünüşe göre, yeteneklerim :)
benim sorulardır tahmin çok düşük, kılavuzları ve Google'ı kontrol etmeye çalıştı, ancak ettik:
- bu normal bir davranış mı ve neden bu sırada
gcc
aramalar,ld
farklı aramalar yapıyor? - Bunu çözmek için herhangi bir çerçeve anlayışlı yöntem var mı yoksa eski
-I
bayrağını kullanmalı mıyım?
sayesinde bu bir çözümdür, ben bir sembolik kullanabilirsiniz bana gerçekleşmedi :) (Ne yazık ki, bu geçici hesap üzerindeki kontrolü kaybetti bu yüzden cevabı çözüm olarak işaretleyemiyorum.) –