I'm on Ubuntu Linux x86_64, and downloaded sources and did "make" to test, it works ok. Now, this is what I did to start implementing the class "DcmQueryRetrieveSQLDatabaseHandleFactory":
1) I'm on dcmtk-3.5.5_20100504/dcmqrdb/apps
2) In dcmqrscp.cc, I added the define "WITH_SQL_DATABASE", as shown in this block:
Code: Select all
#define WITH_SQL_DATABASE
#ifdef with_sql_database
#include "dcmtk/dcmqrdb/dcmqrdbq.h"
#else
#include "dcmtk/dcmqrdb/dcmqrdbi.h"
#endif
4) Now, in dcmtk-3.5.5_20100504/dcmqrdb/libsrc, I created the file dcmqrdbq.cc, that implements the new classes in a process similar to step 3 (replacing DcmQueryRetrieveIndex.... by DcmQueryRetrieveSql...).
When I try to do a "make", I receive this error:
Code: Select all
c++ -O -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L -Wall -L../libsrc -L../../dcmnet/libsrc -L../../dcmdata/libsrc -L../../ofstd/libsrc -L../../oflog/libsrc -o dcmqrscp dcmqrscp.o -ldcmqrdb -ldcmnet -ldcmdata -lofstd -loflog -lz -lm -lrt -lpthread -lnsl
dcmqrscp.o: In function `main':
dcmqrscp.cc:(.text+0x3afa): undefined reference to `DcmQueryRetrieveSqlDatabaseHandleFactory::DcmQueryRetrieveSqlDatabaseHandleFactory(DcmQueryRetrieveConfig const*)'
dcmqrscp.cc:(.text+0x3e0a): undefined reference to `DcmQueryRetrieveSqlDatabaseHandleFactory::~DcmQueryRetrieveSqlDatabaseHandleFactory()'
dcmqrscp.cc:(.text+0x3e19): undefined reference to `DcmQueryRetrieveSqlDatabaseHandleFactory::~DcmQueryRetrieveSqlDatabaseHandleFactory()'
collect2: ld returned 1 exit status
make: *** [dcmqrscp] Error 1
Do I have to change something in the makefiles?.
Leonardo.