我嘗試使用這種新語言來啓動一個新項目,使用我的舊代碼 我在我的舊項目中使用了Libxml2.2,因此xcode在放置後會顯示「libxml.h/parse.h文件未找到」我的新項目中的代碼。 我已經導入了「libxml2.2.dylib」如何在Swift中使用libxml?
回答
爲了在Xcode 6中使用我的項目工作,我導航到我的項目的「Build Settings」,並選擇了我的目標。然後我在生成設置搜索「標題搜索路徑」,並添加以下行來調試版本和發佈:
$(SDKROOT)/usr/include/libxml2
這不起作用,因爲編譯器會說你可以不包括非模塊化的包含 – Loegic
我發現,你可以離開了進口「libxml2.2.dylib」如果添加'-lxml2'到OTHER_LDFLAGS。
你將不得不創建一個包含libxml/tree.h
像這樣的標題自定義module map
文件:
module libxml [system] {
header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2/libxml/tree.h"
export *
}
然後你把這個文件(module.modulemap)爲示例 - 文件夾 - 模內並將其添加到您的項目和目標的build settings
。
您現在可以在代碼中使用@import libxml;
。
我使它與CommonCrypto https://github.com/onmyway133/CommonCrypto.swift一起工作,但libxml應該是相同的。要記住的東西
模塊。modulemap
閱讀http://clang.llvm.org/docs/Modules.html#module-map-language
創建一個名爲libxml2
文件夾(在我的情況下,在同一個目錄中我的項目文件),然後創建一個module.modulemap
文件中
module libxml2 {
header "/usr/include/libxml2/libxml/tree.h"
export *
}
這裏我想補充只需tree.h
,但您可以根據需要添加更多
SWIFT_INCLUDE_PATHS
轉到目標生成設置,添加到這個Import Paths
${SRCROOT}/libxml2
HEADER_SEARCH_PATHS
讀Why am I getting this "libxml/tree.h file not found" error?
轉到目標構建設置,加入到這個Header Search Paths
$(SDKROOT)/usr/include/libxml2
個
有趣相關的職位
- 1. 如何使用?:在Swift中?
- 2. 無法在eclipse中使用libxml ++
- 3. 如何使用libxml-ruby在Ruby中讀取大型XML文件?
- 4. 如何在C中使用libxml檢查DTD?
- 5. 使用libxml的庫的swift包管理器
- 6. 如何在Swift中使用addAttribute
- 7. 如何在Swift中使用accesoryType?
- 8. 如何在swift中使用animationDidStop
- 9. 如何在Swift中使用MKSnapshotter(iOS)
- 10. 如何在Swift 3中使用BFTask?
- 11. 如何在swift數組中使用minElement
- 12. 如何在JSQMessagesViewController中使用mapbox swift
- 13. 如何在Swift中使用UIDatePicker?
- 14. 如何在Swift 3.0中使用函數
- 15. 如何在Swift中使用centralManager willRestoreState?
- 16. 如何在Swift中使用NSStreamEvents?
- 17. 如何在Swift中使用NSWindowOcclusionState.Visible
- 18. 如何在Swift中使用PromiseKit和Firebase?
- 19. 如何在Swift 2.0中使用enumerateNodeWithName?
- 20. 如何在swift中使用completionBlock?
- 21. 如何在Swift Playground中使用Realm?
- 22. 如何在swift中使用_STRUCT_MCONTEXT
- 23. 如何在Swift中使用CFBinaryHeap?
- 24. 如何在swift中使用模型類?
- 25. 如何在Swift 3中使用CFDictionaryCreate?
- 26. 如何在Swift中使用drawInRect?
- 27. 如何在Swift 3中使用CGContextDrawImage?
- 28. swift - 如何在NSTimer中使用FIRE()
- 29. 如何在Swift中爲UserDefaults使用KVO?
- 30. 如何在Swift 4中使用#keyPath()?
這是很好看的https://spin.atomicobject.com/2015/02/23/c-libraries-swift/ – onmyway133