
OpenSSLライブラリを使用するプログラムをコンパイルしようとしています。ヘッダーファイルが見つからない問題が発生しました。-I /usr/local/opt/openssl/include
オプションを追加してこの問題を解決しましたgcc
。その後、リンカーがいくつかのシンボルを理解していない別の問題に直面しました。私が得るエラーは次のとおりです。
Undefined symbols for architecture x86_64:
"_MD5", referenced from:
_main in md5-b35556.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
私はこのエラーを検索し、C ++のみ、または複数のモジュールを持つプログラムなどについてのみ多くの結果を得ました。最後に、MacOSでgcc
ハッシュする問題に対する可能な解決策を見つけましたclang
(私はEl Capitainを使用しています)。
したがって、デフォルトでは、実際の実行可能ファイルを見つけて、私のファイルのコマンドを使用してgcc
コマンドgcc
をそのファイルにリダイレクトする必要があります。ファイルシステムのどこでこの実行可能ファイルを見つけることができますか?それともインターネットからインストールする必要がありますか?alias
.bashrc
注:ncursesライブラリを使用しようとしたときにも同じ問題が発生しました。
答え1
Apple Macos は主に gcc ライセンスのため、clang を gcc コンパイラとして使用します。 GNU gccをインストールできます醸造の使用。 GNU gccをインストールするAppleプログラムはありませんが、手動でインストールしてデフォルトで使用するように設定できます。