言語でライブラリを使用する方法を練習するために、Xcodeで小さなC++コードをコンパイルしようとしています静電気に「静的ライブラリと関連する.hファイルをMacOSコマンドラインプロジェクトに追加する際のXcode C++エラーの解決方法
Ld /Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Products/Debug/Libraries\ Project normal x86_64
cd "/Users/danielb/Documents/Year 1/Computer Programming/XCode/Libraries Project"
export MACOSX_DEPLOYMENT_TARGET=10.12
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -L/Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Products/Debug -Llibstatic-library.a -F/Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Products/Debug -filelist /Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Intermediates.noindex/Libraries\ Project.build/Debug/Libraries\ Project.build/Objects-normal/x86_64/Libraries\ Project.LinkFileList -mmacosx-version-min=10.12 -Xlinker -object_path_lto -Xlinker /Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Intermediates.noindex/Libraries\ Project.build/Debug/Libraries\ Project.build/Objects-normal/x86_64/Libraries\ Project_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -stdlib=libc++ -lstatic-library -Xlinker -dependency_info -Xlinker /Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Intermediates.noindex/Libraries\ Project.build/Debug/Libraries\ Project.build/Objects-normal/x86_64/Libraries\ Project_dependency_info.dat -o /Users/danielb/Library/Developer/Xcode/DerivedData/Libraries_Project-ejgcifhyqbzkkjapqobtefzaquoq/Build/Products/Debug/Libraries\ Project
ld: warning: -L path 'libstatic-library.a' is not a directory
ld: library not found for -lstatic-library
clang: error: linker command failed with exit code 1 (use -v to see invocation)
は今、私は外部の静的ライブラリ「libstatic-library.a」への参照を使用してコードを実行しているか、それはヘッダファイルです:私はそれを実行しようとするたびに、しかし、私は次のエラーを取得しておきます残りのライブラリは正常に実行されます。
また、ヘッダーファイルと.aファイルをに追加しました。リンクされたフレームワークライブラリのプロジェクトページの一部を作成し、ビルド設定タブのヘッダーとライブラリの検索パスに両方のファイル名を追加しました。
誰かがこの問題の解決策について何か提案しているのであれば、私はこのエラーのこの特定のインスタンスに関する他の投稿を見つけることができないので、私は非常に感謝しています。
編集:
は、ここでの問題はその場所にのみディレクトリが必要になったときに、ライブラリ自体の名前を与えることである更新されたエラーコード
ld: warning: ignoring file /Users/danielb/Documents/Year 1/Computer Programming/XCode/Libraries Project/libstatic-library.a, file was built for archive which is not the architecture being linked (x86_64): /Users/danielbradley/Documents/Year 1/Computer Programming/XCode/Libraries Project/libstatic-library.a
Undefined symbols for architecture x86_64:
"StaticLibraryFunctionAddInt(int, int)", referenced from:
_main in main.o
"StaticLibraryFunctionAddFloat(float, float)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
あなたのプロジェクトのリンカー設定のどこかに、*ディレクトリ*ではなく、ライブラリファイル自体の名前が書かれています。 –
@Someprogrammerdudeファイル名の代わりにパスを使ってコードをビルドしようとすると、同じエラーが表示されますが、行 'code' ldだけです:警告:-L path 'libstatic-library.a'はディレクトリ 'code'が 'code'に変わるld:警告:-L path '/ Users/danielb/Documents/Year 1 /コンピュータプログラミング/ XCode /ライブラリProject/libstatic-library.a'はディレクトリ 'code'ではない – dbradley
Donそこにファイル名を入れないでください。*ディレクトリだけです。あなたの例では、 '/ Users/danielb/Documents/Year 1/Computer Programming/XCode/Libraries Project'しか持たないようにしてください。 –