ODB C ++ - 未知的数据库架构错误

时间:2016-10-07 06:05:28

标签: c++ database schema odb codesynthesis

在我的Visual Studio解决方案中,我有两个不同的项目,其中一个构建为static library,另一个构建为可执行文件。 ODB相关代码(如创建数据库)都在库中。我将此库链接到我的可执行文件。但是当我调试可执行代码时,我在调用"unknown database schema"中收到错误create_schema()。我使用SQLite作为我的数据库。我做错了什么?

1 个答案:

答案 0 :(得分:0)

此问题很可能与herehere中描述的问题有关,可以概括如下:C / C ++链接器将忽略静态库中的符号,如果这些符号不是直接在主二进制文件中使用。 ODB的实现可能会陷入此陷阱,具体取决于您实例化生成的代码的精确程度。对于GCC / Clang,解决方案是使用--whole-archive;对于MSVC,在Visual Studio 2015 Update 2及更高版本上, /WHOLEARCHIVE

有关更多详细信息,请参见: