我的编译在ubuntu 12.10上失败,300mb内存可用(总共750mb,对MySQL为350mb),1.5ghz,我试图将wt的基本hello world文件重新编写成一个简单的ajax页面。我很确定这不是内存问题,因为我能够使用g++ -O3 -o hello hello.C -lwtfcgi -lwt -lboost_signals
编译原始的hello.C文件。
我确定我搞砸了c ++,因为我撕掉了HelloApplication::HelloApplication(const WEnvironment& env)
: WApplication(env)
的胆量并放入了Wt :: Json示例中的示例
HelloApplication::HelloApplication(const WEnvironment& env)
: WApplication(env)
{
Json::Object result;
Json::parse("{ "
" \"a\": \"That's great\", "
" \"b\": true "
"}",
result);
std::cerr << "Size: " << result.size(); << std::endl; // Size: 2
WString s = result.get("a");
bool b = result.get("b");
std::cerr << "a: " << s << ", b: " << b << std::endl; // a: That's great, b: true
}
我是c ++的新手,所以我几乎不知道自己在做什么。我所能做的就是执行最简单的c ++文件。
这是原始source to the hello world file。
这是我得到the json sample from的地方。
**反响**
哇,我的尊重程度刚刚超越了c ++的力量。这完全摧毁了我的VPS。我无法重启。我甚至无法重新安装我的发行版。
当我最终投入生产时,我想我将建立一个完全不同的开发系统,以防止这样的事情导致我的生产系统崩溃。
答案 0 :(得分:0)
由于编译因内存不足而失败,因此可能没有足够的内存来编译程序。这可能不是因为接受的答案中提出的“会话管理问题”。 mysql吃的比它应该吃的多吗? 300MB足以编译C ++吗?
Wt中的服务JSon(类似于REST接口)是通过绑定到WServer对象的WResource完成的。 WApplication用于交互式用户界面。
答案 1 :(得分:0)
作为潜在的快速解决方案:您可以通过
减少内存使用量make -j 1
告诉构建工具仅使用一个CPU。为我工作。
答案 2 :(得分:0)
只需添加一个交换文件即可解决此问题!
// 创建一个 1 GB 的交换文件
// 编辑 fstab 文件
//在文件末尾追加如下一行
// 检查交换是否准备好