Странное поведение компоновщика (ld), оно видит только половину методов класса - PullRequest
0 голосов
/ 22 марта 2011

У меня есть 2 цели в XCode, исполняемый файл, содержащий класс Record, такой как

class Record
{
  public:
  const char * getFirstName() const;
  void setFirsttName(const char * firstName);

  const char * getCompany() const;
  void setCompany(const char * company);
  ...
 }

, и пакет модульных тестов, который связан с исполняемым файлом через bundleLoader и содержит тест, подобный

...
Record record;
record.setFirsttName("aaa");
record.setCompany("bbb");
* 1006.* Странно и досадно то, что я получаю ошибку компоновщика, говорящую о том, что он не видит символ setCompany, но видит setFirsttName.Полное очищение и восстановление не помогают в этом вопросе.Кто-нибудь может помочь?

Редактировать 1:

Это было DEAD_CODE_STRIPPING = YES.Aaargh !!!

Ответы [ 2 ]

0 голосов
/ 22 марта 2011

Вы забыли определить setCompany в исходном файле?Или вы забыли квалифицировать его как ClassName::, чтобы он обрабатывался как метод класса?

0 голосов
/ 22 марта 2011

У вас есть определение setCompany в исходном файле для Record?В заголовке просто декларация, и вам нужно определение, чтобы связать программы, использующие этот метод.

...