1. ホーム
  2. その他

Macでのg++コンパイル時の「Undefined symbols for architecture x86_64:」エラーの解決方法

2022-01-23 06:43:53

        午後からずっと作業していたのですが、やっと答えが見つかりました! image データ構造を利用する場合,単純な読み込みや画像の表示, IplImage と CvMat データ型を利用した2種類のデータ間の変換は問題ありませんが, Mat データ構造を利用すると,以下のようなエラーが発生するのです.

アーキテクチャ x86_64 の未定義シンボル: \
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", reference from:\.pdf; "std:___string;基本文字列とchar、std:__stringと
      main.o の _main
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", reference from:\...
      _main in main.o
  "std::terminate()", reference from:\.
      ___clang_call_terminate in main.o.
  を参照しています。
      ___clang_call_terminate in main.o
  を参照しています。
      _main in main.o
      Dwarf Exception Unwind Info (__eh_frame) in main.o.
ld: symbol(s) not found for architecture x86_64

を作成します。*** [main] Error 1
いろいろ考えた末に、ようやくプロンプトを見た人がいた。 コンパイルオプション追加 -lstdc++ ということは、標準のC++ライブラリを使用するということです。

-------------------------------------------------------------------------------------------------------------------------

  • <スパン マシンビジョングループ <スパン 454254462 、アルゴリズム研究のために参加することを歓迎します。
    <スパン AR/VRグループ : 244751474、プロジェクトの議論に参加することを歓迎します。