XCode - ld:找不到 -lfile_vacuum 的库

XCode - ld: library not found for -lfile_vacuum

我在我的项目中添加了一个 CocoaPod (SwiftySandboxFileAccess),现在出现以下错误:

Ld /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Products/Debug/FileVacuum.app/Contents/MacOS/FileVacuum normal x86_64 (in target 'FileVacuum' from project 'FileVacuum')
    cd /Users/mike/Documents/Mikeumus/code/FileVacuum/menubar-filevacuum
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-macos10.15 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -L/Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Products/Debug -L. -LCarthage -LFileVacuum -LFileVacuum.xcworkspace -LFileVacuumLauncher2 -LFileVacuumTests -LFileVacuumUITests -LMenubar-FileVacuumTests -LMenubar-FileVacuumUITests -LPods -LCarthage/Build -LCarthage/Checkouts -LFileVacuum/FileVacuum\ 2020-06-08\ 11-57-59 -LFileVacuum/FileVacuum.xcarchive -LFileVacuum/Pods -LFileVacuum.xcworkspace/xcshareddata -LFileVacuum.xcworkspace/xcuserdata -LPods/Headers -LPods/Local\ Podspecs -LPods/SwiftySandboxFileAccess -LPods/Target\ Support\ Files -LCarthage/Build/Mac -LCarthage/Build/iOS -LCarthage/Checkouts/AppReceiptValidator -LFileVacuum/FileVacuum.xcarchive/Products -LFileVacuum/FileVacuum.xcarchive/SwiftSupport -LFileVacuum/Pods/Headers -LFileVacuum/Pods/Local\ Podspecs -LFileVacuum/Pods/Target\ Support\ Files -LFileVacuum.xcworkspace/xcshareddata/swiftpm -LFileVacuum.xcworkspace/xcuserdata/mike.xcuserdatad -LPods/Headers/Public -LPods/SwiftySandboxFileAccess/SwiftySandboxFileAccess -LPods/Target\ Support\ Files/Pods-FileVacuum -LPods/Target\ Support\ Files/SwiftySandboxFileAccess -LCarthage/Build/Mac/AppReceiptValidator.framework.dSYM -LCarthage/Build/iOS/AppReceiptValidator.framework.dSYM -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator -LFileVacuum/FileVacuum.xcarchive/Products/Applications -LFileVacuum/FileVacuum.xcarchive/SwiftSupport/macosx -LPods/Headers/Public/SwiftySandboxFileAccess -LPods/SwiftySandboxFileAccess/SwiftySandboxFileAccess/Classes -LCarthage/Build/Mac/AppReceiptValidator.framework.dSYM/Contents -LCarthage/Build/iOS/AppReceiptValidator.framework.dSYM/Contents -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Demo\ iOS -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Demo\ macOS -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ Shared -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ iOS -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ macOS -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app -LCarthage/Build/Mac/AppReceiptValidator.framework.dSYM/Contents/Resources -LCarthage/Build/iOS/AppReceiptValidator.framework.dSYM/Contents/Resources -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/Supporting\ Files -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ Shared/Test\ Assets -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ Shared/Tools -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app/Contents -LCarthage/Build/Mac/AppReceiptValidator.framework.dSYM/Contents/Resources/DWARF -LCarthage/Build/iOS/AppReceiptValidator.framework.dSYM/Contents/Resources/DWARF -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/include-ios -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/include-macos -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/lib-ios -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/lib-macos -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/Supporting\ Files/iOS -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/Supporting\ Files/macOS -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ Shared/Test\ Assets/Other\ Receipts -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app/Contents/Frameworks -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app/Contents/MacOS -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app/Contents/Resources -LFileVacuum/FileVacuum.xcarchive/Products/Applications/FileVacuum.app/Contents/_CodeSignature -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/include-ios/openssl -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator/OpenSSL/include-macos/openssl -LCarthage/Checkouts/AppReceiptValidator/AppReceiptValidator/AppReceiptValidator\ Tests\ Shared/Test\ Assets/Other\ Receipts/unparseable -L/Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Products/Debug/SwiftySandboxFileAccess -F/Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Products/Debug -F/Users/mike/Documents/Mikeumus/code/FileVacuum/menubar-filevacuum/Carthage/Build/Mac -filelist /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Intermediates.noindex/FileVacuum.build/Debug/FileVacuum.build/Objects-normal/x86_64/FileVacuum.LinkFileList -Xlinker -rpath -Xlinker @executable_path/../Frameworks -Xlinker -object_path_lto -Xlinker /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Intermediates.noindex/FileVacuum.build/Debug/FileVacuum.build/Objects-normal/x86_64/FileVacuum_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-link-runtime -fprofile-instr-generate -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Intermediates.noindex/FileVacuum.build/Debug/FileVacuum.build/Objects-normal/x86_64/FileVacuum.swiftmodule -ObjC -lSwiftySandboxFileAccess -framework AppReceiptValidator -framework Automator -lfile_vacuum -lresolv -lPods-FileVacuum -Xlinker -dependency_info -Xlinker /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Intermediates.noindex/FileVacuum.build/Debug/FileVacuum.build/Objects-normal/x86_64/FileVacuum_dependency_info.dat -o /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Products/Debug/FileVacuum.app/Contents/MacOS/FileVacuum -Xlinker -add_ast_path -Xlinker /Users/mike/Library/Developer/Xcode/DerivedData/FileVacuum-defywbakdmgzprcegfjrlcpktbta/Build/Intermediates.noindex/SwiftyStoreKit.build/Debug/SwiftyStoreKit.build/Objects-normal/x86_64/SwiftyStoreKit.swiftmodule

ld: library not found for -lfile_vacuum
clang: error: linker command failed with exit code 1 (use -v to see invocation)

pod installpod update 给出以下警告:

[!] The `FileVacuum [Debug]` target overrides the `LIBRARY_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-FileVacuum/Pods-FileVacuum.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `FileVacuum [Release]` target overrides the `LIBRARY_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods-FileVacuum/Pods-FileVacuum.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

我将“目标”级别 LIBRARY_SEARCH_PATHS 更改为 $(inherited),这些警告消失了,但我更改了“项目”级别 LIBRARY_SEARCH_PATHS,不记得之前是什么了我更改了它,所以我将其设置为 $(inherited), $(PROJECT_DIR) recursive


我做了以下事情:


以下是应用程序的一些设置:

LIBRARY_SEARCH_PATH 设置对于“项目”和“目标”级别是相同的:


"file_vacuum" 不会导致 file/settings 搜索:

在上面的屏幕截图中,您可以看到我正在链接 libfile_vacuum.a,我不知道这是否与导致问题的 file_vacuum 相同。


Podfile

platform :macos, '10.15'

target 'FileVacuum' do
  pod 'SwiftySandboxFileAccess', '~> 2.0'
end

根据您的屏幕截图,它似乎无法找到 file_vacuum 库,这是一个静态库。确保在目标构建设置的 LIBRARY_SEARCH_PATH 中添加该文件的路径。您也可以只搜索搜索路径并在那里找到它。通常,每当出现有关找不到 header 文件或 object 的错误时,它与搜索路径有关,意味着编译器无法找到该类型/库的信息。

框架、库和 Header 搜索路径是您可以定义并帮助编译器找到这些文件的三种类型。