0

xcodeでc++コードをコンパイルしようとしていますが、次のエラーが発生します。

ld: duplicate symbol _selectedFields in Library/Developer/Xcode/DerivedData/ReadHeaderTBL-arftrodtnbtmucbjkejinzonhulu/Build/Intermediates/ReadHeaderTBL.build/Debug-iphonesimulator/ReadHeaderTBL.build/Objects-normal/i386/readingTBLCPP.o and /Library/Developer/Xcode/DerivedData/ReadHeaderTBL-arftrodtnbtmucbjkejinzonhulu/Build/Intermediates/ReadHeaderTBL.build/Debug-iphonesimulator/ReadHeaderTBL.build/Objects-normal/i386/ReadFile.o for architecture i386

シンボル" selectedFields"は、あるクラスで宣言され、他のクラスから呼び出されます。

それは次のように宣言されています:

       std::string selectedFields;

このエラーの原因はわかりません。

4

1 に答える 1

2

通常、この問題が発生するのは、人々がヘッダー ファイルで変数を宣言したためです。ヘッダーファイルで定義する必要があります

extern std::string selectedFields; // definition

1 つのソース ファイルで宣言する

std::string selectedFields; // declaration

問題が他のものである場合は、コードを投稿してください。彼らはわざわざコードを投稿しようとしないので、みんなの問題が何であるかを推測しなければならないのは、少しがっかりします。

于 2012-11-06T10:26:03.880 に答える