当我尝试编译时,我收到了这个奇怪的错误。
架构 x86_64 的 undefined symbol :
readRecipe(std::basic_istream<char, std::char_traits<char> >&, std::basic_ostream<char, std::char_traits<char> >&, Cookbook&)
,引用自:
cclDKibb.o 中的 _main
ld:未找到架构 x86_64 的符号
collect2: ld 返回 1 个退出状态
这是它所指的功能:
void readRecipe(std::ifstream &istr, std::ofstream &ostr, Cookbook &cookbook)
{
int units; std::string name, name2;
// Read recipe name.
istr >> name;
// Build the new recipe Recipe r(name);
while (1)
{
istr >> units;
if (units == 0)
break;
assert (units > 0);
istr >> name2;
Ingredient i(name2, units);
r.addIngredient(i);
}
// Add it to the list.
if (cookbook.addRecipe(r, ostr))
ostr << "Recipe for " << name << " added" << std::endl;
else
ostr << "Recipe for " << name << "already exists" << std::endl;
}
最佳答案
我想到了。我的函数原型(prototype)搞砸了。
关于c++ - 编译器错误 : Undefined symbols for architecture x86_64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15145346/