尝试执行编译的c ++时“不允许操作”

时间:2013-06-30 03:00:04

标签: c++ websocket g++ execution permission-denied

我编译了这个websocket++ print server example,执行了它,并通过在我的服务器和浏览器上进行测试确认它有效。

现在,我根据websocket++ broadcast server example author's使用命令g++ -O3 -o bServer broadcast_server.cpp -I ~/websocketpp-experimental/ -std=c++0x -D_WEBSOCKETPP_CPP11_STL_ -D_WEBSOCKETPP_NO_CPP11_REGEX_ -lboost_regex -lboost_system编译了此recommendations

./bServer提供Operation not permitted

ls -l bServer给出-rwxr-xr-x 1 root root 574151 Jun 29 22:31 bServer,据我所知,这表示允许执行。

我该如何执行这个程序?

2 个答案:

答案 0 :(得分:2)

您的程序正在打印此邮件。查找打印位置并打印更多信息。

答案 1 :(得分:1)

brian深入了解问题的核心,这是完整的解决方案:

在broadcast_server.cpp示例中,有

        try {
            m_server.run();
        } catch (const std::exception & e) {
            std::cout << e.what() << std::endl;
        } catch (websocketpp::lib::error_code e) {
            std::cout << e.message() << std::endl;
        } catch (...) {
            std::cout << "other exception" << std::endl;
        }

Google std "Operation not permitted"自动填充到std thread operation not permitted,第一个结果就是这个问题:C++0x: thread, gcc or my error?

使用-pthread标志可以修复它。