ホームページ > バックエンド開発 > C++ > C コードで未定義シンボル エラーが発生するのはなぜですか? それらを修正するにはどうすればよいですか?

C コードで未定義シンボル エラーが発生するのはなぜですか? それらを修正するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-10 13:08:10
オリジナル
234 人が閲覧しました

Why Does My C   Code Produce Undefined Symbol Errors, and How Can I Fix Them?

C コードのコンパイル時のエラー

提供された C コードはコンパイルに失敗し、多数の未定義シンボル エラーが発生します。これらのエラーは、コンパイラが正常なコンパイルに必要な C 標準ライブラリを見つけられないことを示しています。

解決策

問題を解決するには、正しいコンパイラを使用することが重要です。 C とその標準ライブラリをサポートします。 C コンパイラである "cc" を使用する代わりに、"g " または "clang " を使用して C コードをコンパイルする必要があります。

Using "g" " 指定されたコードをコンパイルするには:

g++ main.cpp
ログイン後にコピー

clang例

「clang」を使用したコンパイル:

clang++ main.cpp
ログイン後にコピー

正しいリンカー呼び出し

リンカーを呼び出すときは、次のことを確認することが重要です。適切なライブラリに対してリンクされていること。 「clang」を使用した正しいリンク行は次のようになります。

"/usr/bin/ld" -demangle -dynamic -arch x86_64
     -macosx_version_min 10.6.8 -o a.out -lcrt1.10.6.o 
     /var/folders/zl/zlZcj24WHvenScwjPFFFQE+++TI/-Tmp-/cc-wJwxjP.o 
     /usr/lib/libstdc++.6.dylib -lSystem
     /Developer/usr/bin/../lib/clang/3.0/lib/darwin/libclang_rt.osx.a
ログイン後にコピー

必要な C 標準ライブラリ実装を提供する「/usr/lib/libstdc .6.dylib」が含まれていることに注意してください。

適切なコンパイラを使用し、正しいリンカー呼び出しを保証することにより、C コードは未定義のシンボル エラーが発生することなく正常にコンパイルされます。

以上がC コードで未定義シンボル エラーが発生するのはなぜですか? それらを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート