Compile CFLite ต้องการการอ้างอิงที่ไม่รู้จัก


0

ฉันได้ดาวน์โหลดCoreFoundationLite - CFLiteจาก apple open source ของ OSX เวอร์ชั่น 10.10.5 และพยายามคอมไพล์มันบน mac ของฉันเอง (ฉันใช้ 10.11.5 และ Xcode 7.2.1) โปรดสังเกตว่ารหัสนี้รวบรวมภายใต้ make ปกติและไม่ใช้ Xcode SDK ...

ตามไฟล์ README มันควรเพียงแค่ต้องใช้ makefile เริ่มต้น อย่างไรก็ตามมันล้มเหลวในปัญหาต่อไปนี้:

/usr/bin/clang -O2 -arch i386 -arch x86_64 -c -x c -pipe -std=gnu99 
Wmost -Wno-trigraphs -Wno-deprecated -mmacosx-version-min=10.10 
-fconstant-cfstrings -fexceptions -DCF_BUILDING_CF=1 
-DDEPLOYMENT_TARGET_MACOSX=1     
-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10 
-DU_SHOW_DRAFT_API=1 -DU_SHOW_CPLUSPLUS_API=0 -ICF-Objects/normal 
-DVERSION=1153.18 -include CoreFoundation_Prefix.h 
 CFApplicationPreferences.c 
-o CF-Objects/normal/CFApplicationPreferences.o


In file included from CFApplicationPreferences.c:30:
./CFInternal.h:759:10: fatal error: 'dispatch/private.h' file not found
#include <dispatch/private.h>

ดูเหมือนว่าฉันไม่มีการพึ่งพาชื่อ libdispatch เป็นเพราะห้องสมุดนี้ถูกลบออกจาก 10.11.5 และอยู่ใน 10.10.5? ฉันสามารถหาได้ที่ไหน (ไม่สามารถติดตามได้ในซอร์สโค้ดของ Apple)

คำตอบ:


1

คุณสามารถค้นหาไฟล์ที่คุณต้องการในการดาวน์โหลดlibdispatch-442.1.4ที่ไซต์โอเพนซอร์สที่คุณลิงค์ด้านบน

และ libdispatch นั้นมาพร้อมกับ 10.11.5 เช่นเดียวกับที่คุณเห็นในหน้านี้ https://opensource.apple.com/release/os-x-10115/

ฉันไม่มี Mac ที่นี่เพื่อยืนยัน แต่ฉันถือว่าถ้าคุณยังไม่ได้ติดตั้ง Xcode (มาพร้อมกับ SDK) มันจะไม่ติดตั้งส่วนหัวบน Mac ของคุณ


สวัสดีขอบคุณสำหรับคำตอบของคุณ ฉันติดตั้ง Xcode จริง ๆ แล้ว แต่การคอมไพล์บ่นว่าหายไปdispatch/private.hและฉันไม่มีมันใน sdk (ฉันเคยดู./Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/dispatch) สังเกตว่าฉันค้นหาใน sdk รุ่น 10.10 ซึ่งตรงกับรุ่น CFLite (ที่มาจาก 10.10.5 โอเพ่นซอร์ส )
Zohar81

ยุติธรรมพอสมควร ดังนั้นจะเกิดอะไรขึ้นถ้าคุณพยายามใช้ไฟล์ libdispatch-442.1.4 จากไซต์โอเพ่นซอร์สของ Apple?
อลิสแตร์แมคมิลลัน

พยายามนั้น แต่มันล้มเหลวในอีกหนึ่งไฟล์ส่วนหัวที่ขาดหายไป#include <os/lock_private.h>
Zohar81

ฉันสงสัยว่าทำไมไม่มีการกล่าวถึงในไฟล์ readme ของโครงการอะไรคือ sdk ที่ต้องการสำหรับการรวบรวมรหัสนี้
Zohar81

1
ฉันน่าจะถามคำถามนี้ตั้งแต่เริ่มต้น แต่ทำไมคุณถึงพยายามรวบรวม CoreFoundation
Alistair McMillan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.