ios5 — Как удалить ld: дубликат символа _ в xcode 4.2 (код c ++)

Я пытаюсь скомпилировать код C ++ в XCode, и я получаю следующую ошибку:

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;

Я не понимаю причину этой ошибки.

0

Решение

Обычно, когда мы получаем эту проблему, это потому, что люди объявили переменную в заголовочном файле. Вам следует определять это в заголовочном файле

extern std::string selectedFields; // definition

и объявить это в один исходный файл

std::string selectedFields; // declaration

Если ваша проблема в чем-то другом, то опубликовать код. Это немного удручает, когда приходится угадывать, в чем проблема у всех, потому что они не пытаются опубликовать код.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]