2015-03-02 71 views
1

我正在做MacOSX上使用CEF的一個小概念證明。我把鉻嵌入式Framework.framework,改變它的rpath運行:爲什麼在Mac OS X上找不到此庫?

install_name_tool -id "@rpath/Chromium Embedded Framework.framework/Chromium Embedded Framework" Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework 

,然後進行編譯和運行這樣的程序:

$ ./cefobjchelper.app/Contents/MacOS/cefobjchelper 
dyld: Library not loaded: @executable_path/Chromium Embedded Framework 
    Referenced from: /Users/pupeno/Library/Developer/Xcode/DerivedData/cefobjc-bxtruyemnyagwwgdejtzuxngovsr/Build/Products/Debug/./cefobjchelper.app/Contents/MacOS/cefobjchelper 
    Reason: image not found 
Trace/BPT trap: 5 

我明白@ executable_path /鉻嵌入式框架沒有按」確實存在,但爲什麼當我糾正CEF中的路徑時,它甚至還在尋找它?

只是要確保我檢查了CEF包括在集合了正確的路徑和它做:

$ otool -D cefobjchelper.app/Contents/Frameworks/Chromium\ Embedded\ Framework.framework/Chromium\ Embedded\ Framework 
cefobjchelper.app/Contents/Frameworks/Chromium Embedded Framework.framework/Chromium Embedded Framework: 
@rpath/Chromium Embedded Framework.framework/Chromium Embedded Framework 

缺少什麼我在這裏?

回答

2

原因是在我的主目錄的其他地方有一個額外的框架路徑從以前的實驗與另一個庫的副本,並從鏈接庫列表中刪除該庫沒有刪除該路徑,所以重新從新的位置添加它,正在從舊位置選取它,用於鏈接但不嵌入。

相關問題