Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: Berkeley DB C++ compile


  • Subject: Re: lug-bg: Berkeley DB C++ compile
  • From: George Danchev <danchev@xxxxxxxxx>
  • Date: Thu, 3 Feb 2005 17:11:12 +0200

On Thursday 03 February 2005 16:47, Aleksandar Valchev wrote:
> Не мога да се оправя с прост и тъп проблем.
>
> Използвам libdb-4.2. Написал съм си на С една проста програма, която
> създава празна база данни. Като съм включил #include <db4/db.h>. Компилирам
> я с gcc -Wall -o test test.c -ldb-4
> и всичко е наред програмата прави каквото трябва.
>
> Обаче, на мен не ми трябва С, а С++. На С++ съм написал:
> #include <db4/db_cxx.h>

#include <db_cxx.h>

> int main()
> {
>  Db db(NULL, 0);
>
>  return 0;
> }
>
> Отчайващо прост пример.
> Компилирам го с
> g++ -Wall -Wno-deprecated -o test test.cpp -ldb-4
> Съответно изхода ми е познат:

-ldb_cxx

> /tmp/cczSirYq.o(.text+0x2b): In function `main':
> : undefinied reference to `Db::Db[in-charge](DbEnv*, unsigned)'
>
> /tmp/cczSirYq.o(.text+0x2b): In function `main':
> : undefinied reference to `Db::~Db [in-charge]'
>
> collect2: ld returned 1 exit status
>
> Тъпотия. По принцип след -ldb-4 би трябвало да стане, както става с С
> примера.

g++ -Wall -Wno-deprecated -o test test.cpp -ldb_cxx

> Дистрибуцията ми е Slackware-current. След като разархивирах статичната
> libdb-4.2.a, там имаше само обетни файлове за С, но не и за С++. Възможно
> ли е просто пакета, който върви с Slackware, да не е компилиран и за С++?

еги еги ... пак от тука: http://www.sleepycat.com/download.html

dpkg -L libdb4.2++-dev
/.
/usr
/usr/include
/usr/include/db_cxx.h
/usr/lib
/usr/lib/libdb_cxx-4.2.a
/usr/lib/libdb_cxx-4.2.la
/usr/lib/libdb_cxx.a
/usr/share
/usr/share/doc
/usr/share/doc/libdb4.2++-dev
/usr/share/doc/libdb4.2++-dev/copyright
/usr/share/doc/libdb4.2++-dev/changelog.Debian.gz
/usr/lib/libdb_cxx-4.so
/usr/lib/libdb_cxx.so

Иначе usr/include/db_cxx.h се носи от следните (това са дебиански пакети) 
libdevel/libdb3++-dev,libdevel/libdb4.3++-dev,libdevel/libdb4.2++-dev,libdevel/libdb4.1++-dev,libdevel/libdb4.0++-dev
при теб може да се казват друго яче.

-- 
pub 4096R/0E4BD0AB 2003-03-18 <danchev.fccf.net/key pgp.mit.edu>
fingerprint    1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.