【发布时间】:2017-03-24 04:32:39
【问题描述】:
$clang++ main.cpp -o out
出现以下错误,更改为 g++ 时发生相同的错误。我已经在一些简单的 C++ 代码上进行了测试,该命令运行良好。所以这是那个PNG类文件中的问题吗?但是,之前在我的 MacOS 上运行相同的文件,但今天突然失败了。
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在哪里实现?
标签: c++ compiler-errors