[odb-users] Couldn't find method odb::database::id

Andy S gatekeeper.mail at gmail.com
Thu Jan 27 16:47:20 EST 2022


On Thu, Jan 27, 2022 at 10:05 AM Boris Kolpackov <boris at codesynthesis.com>
wrote:

> My guess would be you haven't generated and/or linked into your
> application the database support code for each concrete database
> you want to support in the dynamic mode (and, as a result, the
> corresponding function table entry is NULL and thus SIGSEGV).
> This is covered in the introduction to Chapter 16, "Multi-
> Database Support" in the ODB manual.
>

Well, after some messing I've got the point.
If the ODB-related code is a static library which is then statically linked
into the resulting executable, ODB fails with NULLs-initialized table
(despite all the libodb-* libraries are shared-linked into the executable).
If I only change the library definition to SHARED in my cmake config the
result is: it works.


More information about the odb-users mailing list