g++ не видит методы класса
От: kot--  
Дата: 14.11.06 13:33
Оценка:
hi all!

очерердные undefined reference to.
собираю g++ тестовую программу, к которой линкуются статические либы, из которых она дергает объекты.

компилирую g++ исходник тестовой программки :

g++ -D "STATIC_LIBRARY" -D "DYNCO_PROJECT" -D "_DEBUG" -D "GCC__" -L../lib/lib -lClassLib -lAbstractLib -lCoreLib dynco_test.cpp

сам файл тестовой программки dynco_test.cpp :


 #include "TTextFile.h" 

 int main()

 {
     KisaKuKu();

     .....

  }

 void KisaKuKu()
 {

        TTextFile TF;
        TF.SetFileName... и т.д.
       ..........

  }


внутри инклуда соответсвенно в головной программе
сам класс.


class TTextFile
{
 public:
  TTextFile();
  ~TTextFile();
  void SetFileName(char *FName);
  void OpenFile();
  void OpenDataFile( char *name );
  .... и т.д.
};


Библиотека libClassLib.a, которая линкуется к этому тестовому примеру собрана g++ .


но в результате компиляции тестового примера dynco_test.cpp, использующего методы класса TTextFile компилятор g++ (Вернее ld) при линковке выдает следующее:



ccgXbaaa.o(.text+0x8e):dynco_test.cpp: undefined reference to `TTextFile::TTextFile()'
ccgXbaaa.o(.text+0xae):dynco_test.cpp: undefined reference to `TTextFile::SetFileName(char*)'
ccgXbaaa.o(.text+0xbc):dynco_test.cpp: undefined reference to `TTextFile::OpenFile()'



что такое ? ms компилирует без вопросов. я скоро умру от этого g++
---------------
c уважением, мохнато-полосатый kot--
Re: g++ не видит методы класса
От: Lorenzo_LAMAS  
Дата: 14.11.06 14:37
Оценка:
попробуй поставь в своей строке g++ -D .... имена библиотек _после_ dynco_test.cpp
Of course, the code must be complete enough to compile and link.
Re[2]: g++ не видит методы класса
От: kot--  
Дата: 14.11.06 14:43
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:

L_L>попробуй поставь в своей строке g++ -D .... имена библиотек _после_ dynco_test.cpp


сенкс, поиграл местом библиотек (там и внутри зависимости были — объекты перекрестно дергались). собралось.

[censored] ld!
---------------
c уважением, мохнато-полосатый kot--
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.