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 install
和 pod 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
我做了以下事情:
- 关闭 Xcode;
- 运行 pod 安装和 pod 更新;
- 打开新的.xcworkspace;
- 清理并构建项目;
以下是应用程序的一些设置:
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 搜索路径是您可以定义并帮助编译器找到这些文件的三种类型。
我在我的项目中添加了一个 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 install
和 pod 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
我做了以下事情:
- 关闭 Xcode;
- 运行 pod 安装和 pod 更新;
- 打开新的.xcworkspace;
- 清理并构建项目;
以下是应用程序的一些设置:
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 搜索路径是您可以定义并帮助编译器找到这些文件的三种类型。