LINUX.ORG.RU

линковка сишных либ к программе на с++


0

0

Есть простой класс использующий ctime. #include <ctime>

using namespace std; class CDate{ time_t dtime; tm timestrct; public: CDate(); //CDate(long int); //CDate(time_t); //string gettime() const; };

int main() { CDate s;

return 0; }

При компиляции g++ по понятным причинам ругаетсо. g++ ./pay.cpp -o pay -lmysqlpp pay.cpp:(.text+0x7c): undefined reference to `CDate::CDate()' collect2: выполнение ld завершилось с кодом возврата 1

Какую либу ему нужно прилинковать чтобы он заткнулся?


Ответ на: комментарий от mannaz

Конструктор есть. Если вас устроит CDate::CDate(){} Проблема не в конструкторе иначе бы он вывел сообщение что нет определения конструктора. Здесь же об этом не пишется, и точно! конструктор у меня есть.

jeep
() автор топика
Ответ на: комментарий от mannaz

Тут нужно ему какую -то библиотеку подсунуть чтобы он нашел ее и прилинковал.

jeep
() автор топика
Ответ на: комментарий от jeep

#include <ctime>
using namespace std; class CDate{ time_t dtime; tm timestrct; public:
CDate(); //CDate(long int); //CDate(time_t); //string gettime() const;
};
CDate::CDate(){}
int main() { CDate s;
return 0; }

$ g++ test.cpp
$

Проблема, как уже сказали, в конструкторе.

narayan
()
Ответ на: комментарий от narayan

Елки палки! Спасибо всем. Проблема была не в конструкторе. Нужно было писать g++ -I/usr/include/mysql ./pay.cpp ./Date.cpp -o pay -lmysqlpp забыл короче файл ./Date.cpp ему подсунуть %(

jeep
() автор топика
Ответ на: комментарий от jeep

дааа.. ты хоть в следующий раз код приводи более полный:)

golodranez ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.