学校のプロジェクトに取り組んでいますが、Xcode から奇妙なエラーが発生します。私は TextMate の Command+R 関数を使用してプロジェクトをコンパイルしています。コンパイルは正常に動作しているように見えますが、リンクが失敗し、理解できないエラー メッセージが表示されます。
ld 出力:
ld: シンボル text_field(std::basic_istream >&) が /path/final/build/final.build/Release/final.build/Objects-normal/ppc/generics.o および /path/final/build/final に重複しています。 build/Release/final.build/Objects-normal/ppc/main.o collect2: ld が 1 つの終了ステータスを返しました
以下は、私のファイル io_functions.cpp です。これは、プロジェクト全体で唯一の text_field の宣言です。
#include <string>
#include <iostream>
#include <iomanip>
using namespace std;
#ifndef ENDF
#define ENDF '|'
#define ENDR '\n'
/**
reads one field from a given input stream
Usage: var = text_field(in)
*/
string text_field(istream &in){
string s;
getline(in, s, ENDF);
return s;
}
long long_field(istream &in){
return atol(text_field(in).c_str());
}
int int_field(istream &in){
return atoi(text_field(in).c_str());
}
double double_field(istream &in){
return atof(text_field(in).c_str());
}
#endif
何がうまくいかないのですか?いくつかの理由から、プロジェクトのソース全体を投稿したくありません。