编译器错误:架构x86_64的未定义符号
问题描述:
当我尝试编译时,出现这个奇怪的错误。编译器错误:架构x86_64的未定义符号
为架构x86_64的未定义符号: 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;
}
任何想法?
答
我想通了。我的功能原型搞糟了。
显然你忘了提供链接器与该函数的编译版本 – 2013-02-28 20:49:07