簡體   English   中英

靜態庫引發鏈接器錯誤:“沒有這樣的文件或目錄”

[英]Static Library throws Linker Error: “No such file or directory”

背景(可能相關或不相關):我正在嘗試使用名為j2objc的轉換編譯器,它允許您轉換Java代碼以在iOS應用程序中使用。 它的基礎庫包含一系列Java Runtime的Objective-c翻譯。 為了添加該代碼庫, 根據其wiki我應該將提供的.xcodeproj添加為靜態庫。 那就是我遇到麻煩的地方。

我做了什么:

  • 將提供的.xcodeproj添加為子項目
  • 在我的主要目標的Build Phases下,在Target Dependencies ,我已經在子項目中添加了適當的目標
  • Link Binary with Libraries我添加了一個名為libjre_emul.a的文件,它是libjre_emul.a的假定輸出。
  • 這完全符合項目的指示,並按計划進行

失敗的原因:當我嘗試構建項目時,出現以下錯誤:

clang:錯誤:沒有這樣的文件或目錄:'/ Users / Tomas / Library / Developer / Xcode / DelivedData / tuxblocks -asszlcvjgdqugifxhbkkwcrstotk / Build / Products / Debug -iphonesimulator / libjre_emul.a'

實際上該文件夾中沒有libjre_emul.a ,因此Xcode是正確的。 當我自己構建子項目時,我沒有構建錯誤,因此我假設它正在做它應該做的事情,但我也檢查了它的輸出文件夾,並且在那里也看不到libjre_emul.a 那么為什么輸出庫不存在呢?

有一點可能是相關的:似乎我試圖使用的庫是在Xcode 3中創建的,而我正在使用Xcode 4.我聽說可能存在一些問題。

我承認我是Xcode的新手,所以我可能完全誤解了一些東西。 無論如何,我當然感謝你的幫助!

編輯:我找到了libjre_emul.a文件。 它位於子項目下名為build_result的文件夾中。 將它復制到Xcode預期的位置似乎讓它運行...

在xcode設置中,搜索構建設置“Header Search Paths”,然后添加靜態框架所在的目錄。確保告訴它是遞歸的,以幫助搜索它的子文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM