Hello John, Thank you for the bug fix of 401 revision, I tried and it works for me.
Here are some compilations issues. I wrap fastbit api with swig, and use smalltalk as the scripting langage. Fastbit is compiled as a dll, and is dynamicaly linked to stlport dll. Swig wrapper is compiled as a dll and is dynamicaly linked to fastbit.dll and stlport.dll. (Note : in the current Microsoft Visual C++ project, fastbit dll file name is dll.dll, why not fastbit.dll ?) When linking swig wrapper dll to fastbit library, some symbols are missing, below a list of files that I have modified by adding FASTBIT_CXX_DLLSPEC in class declaration. Note that in utilidor.cpp, templates of multiple functions must be exported. Now something else, would it be possible to add a getStarts() method to ibis::bundle class to give access to the starts property ? Regards, Alex bitvector.h + bitvector + ibis::bitvector::indexSet bord.h column.cpp dictionary.h fileManager.h + fileManager + storage objects fromClause.h jnatural.h qExpr.h quaere.h selectClause.h utilidor.cpp utilidor.h whereClause.h unresolved external symbol "public: int __thiscall ibis::selectClause::parse(char const *)" (?parse@selectClause@ibis@@QAEHPBD@Z) referenced in function "public: void __thiscall mappingCube::setSelectClause(char const *)" (?setSelectClause@mappingCube@@QAEXPBD@Z) unresolved external symbol "public: __thiscall ibis::selectClause::selectClause(class ibis::selectClause const &)" (??0selectClause@ibis@@QAE@ABV01@@Z) referenced in function "public: __thiscall mappingCube::mappingCube(class mappingCube const &)" (??0mappingCube@@QAE@ABV0@@Z) unresolved external symbol "public: __thiscall ibis::selectClause::~selectClause(void)" (??1selectClause@ibis@@QAE@XZ) referenced in function "public: class ibis::selectClause & __thiscall ibis::selectClause::operator=(class ibis::selectClause const &)" (??4selectClause@ibis@@QAEAAV01@ABV01@@Z) unresolved external symbol "public: __thiscall ibis::selectClause::selectClause(char const *)" (??0selectClause@ibis@@QAE@PBD@Z) referenced in function "public: __thiscall mappingCube::mappingCube(void)" (??0mappingCube@@QAE@XZ) unresolved external symbol "public: class ibis::bitvector::indexSet & __thiscall ibis::bitvector::indexSet::operator++(void)" (??EindexSet@bitvector@ibis@@QAEAAV012@XZ) referenced in function "public: virtual class ibis::bitvector * __thiscall mappingCube::convertQTMaskToSourceMask(class ibis::bitvector const &,class stlp_std::vector<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *,class stlp_std::allocator<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *> > const &,class stlp_std::vector<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *,class stlp_std::allocator<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *> > const &)" (?convertQTMaskToSourceMask@mappingCube@@UAEPAVbitvector@ibis@@ABV23@ABV?$vector@PAV?$set@IU?$less@I@stlp_std@@V?$allocator@I@2@@stlp_std@@V?$allocator@PAV?$set@IU?$less@I@stlp_std@@V?$allocator@I@2@@stlp_std@@@2@@stlp_std@@1@Z) unresolved external symbol "public: __thiscall ibis::bord::bord(char const *,char const *,unsigned __int64,class ibis::array_t<void *> &,class ibis::array_t<enum ibis::TYPE_T> const &,class ibis::array_t<char const *> const &,class ibis::array_t<char const *> const *)" (??0bord@ibis@@QAE@PBD0_KAAV?$array_t@PAX@1@ABV?$array_t@W4TYPE_T@ibis@@@1@ABV?$array_t@PBD@1@PBV41@@Z) referenced in function "public: static class ibis::table * __cdecl mappingCube::selectOutlierTable(class ibis::bitvector const &,class ibis::bitvector const &)" (?selectOutlierTable@mappingCube@@SAPAVtable@ibis@@ABVbitvector@3@0@Z) unresolved external symbol "public: __thiscall ibis::selectClause::selectClause(class ibis::array_t<char const *> const &)" (??0selectClause@ibis@@QAE@ABV?$array_t@PBD@1@@Z) referenced in function "public: virtual class ibis::bundle * __thiscall mappingCube::select(class ibis::array_t<unsigned int> const &,class ibis::array_t<unsigned int> const &,class ibis::array_t<unsigned int> const &,class stlp_std::vector<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *,class stlp_std::allocator<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *> > const &,class stlp_std::vector<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *,class stlp_std::allocator<class stlp_std::set<unsigned int,struct stlp_std::less<unsigned int>,class stlp_std::allocator<unsigned int> > *> > const &,class ibis::bitvector const &)" (?select@mappingCube@@UAEPAVbundle@ibis@@ABV?$array_t@I@3@00ABV?$vector@PAV?$set@IU?$less@I@stlp_std@@V?$allocator@I@2@@stlp_std@@V?$allocator@PAV?$set@IU?$less@I@stlp_std@@V?$allocator@I@2@@stlp_std@@@2@@stlp_std@@1ABVbitvector@3@@Z) unresolved external symbol "public: __thiscall ibis::fileManager::storage::storage(unsigned int)" (??0storage@fileManager@ibis@@QAE@I@Z) referenced in function "public: void __thiscall ibis::array_t<char const *>::push_back(char const * const &)" (?push_back@?$array_t@PBD@ibis@@QAEXABQBD@Z) unresolved external symbol "public: virtual void __thiscall ibis::qExpr::print(class stlp_std::basic_ostream<char,class stlp_std::char_traits<char> > &)const " (?print@qExpr@ibis@@UBEXAAV?$basic_ostream@DV?$char_traits@D@stlp_std@@@stlp_std@@@Z) unresolved external symbol "public: virtual void __thiscall ibis::qExpr::printFull(class stlp_std::basic_ostream<char,class stlp_std::char_traits<char> > &)const " (?printFull@qExpr@ibis@@UBEXAAV?$basic_ostream@DV?$char_traits@D@stlp_std@@@stlp_std@@@Z) unresolved external symbol "public: virtual void __thiscall ibis::qExpr::getTableNames(class stlp_std::set<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> >,struct stlp_std::less<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> > >,class stlp_std::allocator<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> > > > &)const " (?getTableNames@qExpr@ibis@@UBEXAAV?$set@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@U?$less@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@@2@V?$allocator@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@@2@@stlp_std@@@Z) unresolved external symbol "public: virtual void __thiscall ibis::qDiscreteRange::print(class stlp_std::basic_ostream<char,class stlp_std::char_traits<char> > &)const " (?print@qDiscreteRange@ibis@@UBEXAAV?$basic_ostream@DV?$char_traits@D@stlp_std@@@stlp_std@@@Z) unresolved external symbol "public: virtual void __thiscall ibis::qRange::getTableNames(class stlp_std::set<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> >,struct stlp_std::less<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> > >,class stlp_std::allocator<class stlp_std::basic_string<char,class stlp_std::char_traits<char>,class stlp_std::allocator<char> > > > &)const " (?getTableNames@qRange@ibis@@UBEXAAV?$set@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@U?$less@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@@2@V?$allocator@V?$basic_string@DV?$char_traits@D@stlp_std@@V?$allocator@D@2@@stlp_std@@@2@@stlp_std@@@Z) unresolved external symbol "public: virtual void __thiscall ibis::qDiscreteRange::restrictRange(double,double)" (?restrictRange@qDiscreteRange@ibis@@UAEXNN@Z) unresolved external symbol "public: __thiscall ibis::qDiscreteRange::qDiscreteRange(char const *,char const *)" (??0qDiscreteRange@ibis@@QAE@PBD0@Z) referenced in function _fastbitNI_new_FBQDiscreteRange__SWIG_1 unresolved external symbol "public: __thiscall ibis::qDiscreteRange::qDiscreteRange(char const *,class stlp_std::vector<unsigned int,class stlp_std::allocator<unsigned int> > const &)" > (??0qDiscreteRange@ibis@@QAE@PBDABV?$vector@IV?$allocator@I@stlp_std@@@stlp_std@@@Z) referenced in function _fastbitNI_new_FBQDiscreteRange__SWIG_2 unresolved external symbol "public: __thiscall ibis::qDiscreteRange::qDiscreteRange(char const *,class stlp_std::vector<double,class stlp_std::allocator<double> > const &)" (??0qDiscreteRange@ibis@@QAE@PBDABV?$vector@NV?$allocator@N@stlp_std@@@stlp_std@@@Z) referenced in function _fastbitNI_new_FBQDiscreteRange__SWIG_3 unresolved external symbol "public: __thiscall ibis::whereClause::whereClause(char const *)" (??0whereClause@ibis@@QAE@PBD@Z) referenced in function _fastbitNI_new_FBWhereClause__SWIG_0 unresolved external symbol "public: __thiscall ibis::whereClause::~whereClause(void)" (??1whereClause@ibis@@QAE@XZ) referenced in function "public: void * __thiscall ibis::whereClause::`scalar deleting destructor'(unsigned int)" (??_GwhereClause@ibis@@QAEPAXI@Z) unresolved external symbol "public: int __thiscall ibis::whereClause::parse(char const *)" (?parse@whereClause@ibis@@QAEHPBD@Z) referenced in function _fastbitNI_FBWhereClause_parse unresolved external symbol "public: __thiscall ibis::fromClause::fromClause(char const *)" (??0fromClause@ibis@@QAE@PBD@Z) referenced in function _fastbitNI_new_FBFromClause__SWIG_0 unresolved external symbol "public: __thiscall ibis::fromClause::~fromClause(void)" (??1fromClause@ibis@@QAE@XZ) referenced in function "public: void * __thiscall ibis::fromClause::`scalar deleting destructor'(unsigned int)" (??_GfromClause@ibis@@QAEPAXI@Z) unresolved external symbol "public: int __thiscall ibis::fromClause::parse(char const *)" (?parse@fromClause@ibis@@QAEHPBD@Z) referenced in function _fastbitNI_FBFromClause_parse unresolved external symbol "public: static class ibis::quaere * __cdecl ibis::quaere::create(char const *,char const *,char const *)" (?create@quaere@ibis@@SAPAV12@PBD00@Z) referenced in function _fastbitNI_FBQuaere_create__SWIG_0 unresolved external symbol "public: static class ibis::quaere * __cdecl ibis::quaere::create(class ibis::part const *,class ibis::part const *,char const *,char const *,char const *,char const *)" (?create@quaere@ibis@@SAPAV12@PBVpart@2@0PBD111@Z) referenced in function _fastbitNI_FBQuaere_create__SWIG_1 unresolved external symbol "public: __thiscall ibis::jNatural::jNatural(class ibis::part const *,class ibis::part const *,char const *,char const *,char const *,char const *)" (??0jNatural@ibis@@QAE@PBVpart@1@0PBD111@Z) referenced in function _fastbitNI_new_FBJNatural__SWIG_0 unresolved external symbol "public: __thiscall ibis::jNatural::jNatural(class ibis::part const *,class ibis::part const *,class ibis::column const *,class ibis::column const *,class ibis::qExpr const *,class ibis::qExpr const *,class ibis::selectClause const *,class ibis::fromClause const *,char const *)" (??0jNatural@ibis@@QAE@PBVpart@1@0PBVcolumn@1@1PBVqExpr@1@2PBVselectClause@1@PBVfromClause@1@PBD@Z) referenced in function _fastbitNI_new_FBJNatural__SWIG_1 unresolved external symbol "public: void __thiscall ibis::dictionary::clear(void)" (?clear@dictionary@ibis@@QAEXXZ) referenced in function "public: __thiscall ibis::dictionary::~dictionary(void)" (??1dictionary@ibis@@QAE@XZ) unresolved external symbol "public: unsigned int __thiscall ibis::dictionary::insert(char const *)" (?insert@dictionary@ibis@@QAEIPBD@Z) referenced in function _fastbitNI_FBCategoryDictionary_insert unresolved external symbol "public: int __thiscall ibis::dictionary::read(char const *)" (?read@dictionary@ibis@@QAEHPBD@Z) referenced in function _fastbitNI_FBCategoryDictionary_read unresolved external symbol "public: int __thiscall ibis::dictionary::write(char const *)const " (?write@dictionary@ibis@@QBEHPBD@Z) referenced in function _fastbitNI_FBCategoryDictionary_write unresolved external symbol "void __cdecl ibis::util::sortRIDs(class ibis::array_t<union ibis::rid_t> &)" (?sortRIDs@util@ibis@@YAXAAV?$array_t@Trid_t@ibis@@@2@@Z) referenced in function _fastbitNI_sortRIDs unresolved external symbol "void __cdecl ibis::util::sortRIDsq(class ibis::array_t<union ibis::rid_t> &,unsigned int,unsigned int)" (?sortRIDsq@util@ibis@@YAXAAV?$array_t@Trid_t@ibis@@@2@II@Z) referenced in function _fastbitNI_sortRIDsq unresolved external symbol "void __cdecl ibis::util::sortRIDsi(class ibis::array_t<union ibis::rid_t> &,unsigned int,unsigned int)" (?sortRIDsi@util@ibis@@YAXAAV?$array_t@Trid_t@ibis@@@2@II@Z) referenced in function _fastbitNI_sortRIDsi unresolved external symbol "__int64 __cdecl ibis::util::sortMerge<double>(class ibis::array_t<double> &,class ibis::array_t<unsigned int> &,class ibis::array_t<double> &,class ibis::array_t<unsigned int> &)" (??$sortMerge@N@util@ibis@@YA_JAAV?$array_t@N@1@AAV?$array_t@I@1@01@Z) referenced in function _fastbitNI_sortMergeDouble unresolved external symbol "__int64 __cdecl ibis::util::sortMerge<unsigned int>(class ibis::array_t<unsigned int> &,class ibis::array_t<unsigned int> &,class ibis::array_t<unsigned int> &,class ibis::array_t<unsigned int> &)" (??$sortMerge@I@util@ibis@@YA_JAAV?$array_t@I@1@000@Z) referenced in function _fastbitNI_sortMergeUint32_t unresolved external symbol "void __cdecl ibis::util::sortKeys<unsigned int,unsigned int>(class ibis::array_t<unsigned int> &,class ibis::array_t<unsigned int> &)" (??$sortKeys@II@util@ibis@@YAXAAV?$array_t@I@1@0@Z) referenced in function _fastbitNI_sortKeysUint32_tUint32_t unresolved external symbol "void __cdecl ibis::util::sortKeys<int,unsigned int>(class ibis::array_t<int> &,class ibis::array_t<unsigned int> &)" (??$sortKeys@HI@util@ibis@@YAXAAV?$array_t@H@1@AAV?$array_t@I@1@@Z) referenced in function _fastbitNI_sortKeysInt32_tUint32_t unresolved external symbol "void __cdecl ibis::util::sortKeys<unsigned char,unsigned int>(class ibis::array_t<unsigned char> &,class ibis::array_t<unsigned int> &)" (??$sortKeys@EI@util@ibis@@YAXAAV?$array_t@E@1@AAV?$array_t@I@1@@Z) referenced in function _fastbitNI_sortKeysUChar_tUint32_t unresolved external symbol "void __cdecl ibis::util::sortKeys<float,unsigned int>(class ibis::array_t<float> &,class ibis::array_t<unsigned int> &)" (??$sortKeys@MI@util@ibis@@YAXAAV?$array_t@M@1@AAV?$array_t@I@1@@Z) referenced in function _fastbitNI_sortKeysFloatUint32_t unresolved external symbol "void __cdecl ibis::util::sortKeys<double,unsigned int>(class ibis::array_t<double> &,class ibis::array_t<unsigned int> &)" (??$sortKeys@NI@util@ibis@@YAXAAV?$array_t@N@1@AAV?$array_t@I@1@@Z) referenced in function _fastbitNI_sortKeysDoubleUint32_t _______________________________________________ FastBit-users mailing list [email protected] https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
