问题标签 [wt-dbo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
112 浏览

c++ - ORM 事务提交上的 Wt Segfault

http://www.webtoolkit.eu/wt/doc/tutorial/dbo.html

本教程中使用的示例的完整源代码可作为可运行的程序在examples/feature/dbo/Wt 文件夹中获得。

我试图tutorial1.C从该目录运行,我得到以下输出:

供您参考,这是我的代码:http ://sprunge.us/PYSO (我希望能持续一段时间,但如果它停止工作,请告诉我)。还有我的 Makefile:http ://sprunge.us/UCge我运行 gdb 使用$ gdb --args ./flashcard --docroot . --http-address 0.0.0.0 --http-port 9090

您可以看到第 80 行的输出,但看不到第 83 行的输出,并且 gdb 的回溯表明第 81 行(提交)是问题所在。如果我删除第 81 行以使事务由于超出范围而提交,则存在相同的问题,但它来自事务的析构函数。

我正在使用 Wt 3.3.4-4、gcc 5.1.0-5 运行 archlinux,并使用-std=c++0x.

我唯一能想象的是,如果与 std::vector 存在一些二进制不兼容?

0 投票
2 回答
175 浏览

c++ - Wt::Dbo 中的循环依赖

Wt 建议使用前向声明来避免循环依赖。

 

但是,当我Settings在另一个 cpp 文件中使用此类时,程序无法编译:

错误:C2079:“虚拟”使用未定义的类“用户”

可能的解决方案(我不喜欢)

  1. 一个解决方案是包含User.h在每个包含 的 cpp 文件中Settings.h,即:

    我不喜欢这种解决方案,因为我必须记住User.h每次包含Settings.h.

  2. 另一种解决方案是使用不推荐的DBO_EXTERN_TEMPLATES宏,即

    我不喜欢这个解决方案,因为这个宏不推荐,也没有记录。DBO_EXTERN_TEMPLATES不适用于所有编译器。

问题

一种。克服Wt::Dbo对象之间的循环依赖关系避免上述undefined class错误的最佳/首选方法是什么?

湾。为什么解决方案 1. 有效?

我创建了一个新的(一般 - 非Wt::Dbo特定)问题(使用 MCVE),以澄清具体情况:模板类的成员函数何时实例化?

参考

0 投票
1 回答
61 浏览

c++ - 你如何使用 Dbo::QueryModel?

我正在尝试在Wt中开发一个应用程序,即使用 Dbo 模块和在 aQueryModel中显示的 a WTableView

然而,当我尝试这样做时,

理论上(我在网上某处发现了类似的片段)这很好,但我的编译器不同意:

对我来说,这个错误看起来和阁楼希腊语差不多,有人能告诉我发生了什么吗?不幸的是,没有 Dbo::QueryModel 的文档。

此外,Wt 工具包是否太旧而无法使用、无法维护?我现在应该放弃使用它吗?

编辑:我尝试了所有类型的 std::make_shared(model) 铸造,这似乎是有意义的,但后来我得到了更多的阁楼希腊语: