g ++に変更すると、次のエラーが発生します。私はシンプルなシンプルなC++コードでテストしましたが、コマンドは正常に動作します。そのPNGクラスファイルの問題ですか?しかし、同じファイルが私のMacOSで以前は動作しましたが、突然今日は失敗しました。clang ++リンカアーキテクチャx86_64の未定義シンボル
Undefined symbols for architecture x86_64:
"PNG::writeToFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
_main in main-f6a06a.o
"PNG::PNG(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
_main in main-f6a06a.o
"PNG::PNG(unsigned long, unsigned long)", referenced from:
_main in main-f6a06a.o
"PNG::~PNG()", referenced from:
_main in main-f6a06a.o
"PNG::operator()(unsigned long, unsigned long)", referenced from:
_main in main-f6a06a.o
"PNG::width() const", referenced from:
_main in main-f6a06a.o
"PNG::height() const", referenced from:
_main in main-f6a06a.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
私は、他のオブジェクトやライブラリがリンクされているか、他のファイルがそのコマンドラインでコンパイルされて表示されません。 PNGはどこに実装されていますか? – user4581301