[英]error: ‘size_type’ is not a member of ‘boost::interprocess::message_queue’
该程序正在正确编译并在我的Friends系统中运行,但是当我尝试在我的系统上执行时,它在下一行显示上述错误。
message_queue::size_type recvd_size;
I am also included the namespace
using namespace boost::interprocess;
我已经使用sudo apt-get install libboost-all-dev
安装了最新的boost库,但是编译器再次将错误消息显示为错误:'size_type'不是'boost :: interprocess :: message_queue'的成员
您的编译器会告诉您确切的问题。 这里描述的boost::interprocess::message_queue
没有size_type
元素。 那里有一些返回size_type
函数,因此您可能会对做这样的事情感兴趣:
int maxMessages = myMessageQueue.get_max_msg();
可能需要指定boost的标头在哪里。
-I /<path_boost>/include
如果在:
/usr/local/include
您需要此链接。 这是因为默认情况下未指定Linux的PATH 。
如果您打开控制台和数字:
echo $PATH
您会看到“可见”的路径。
如果要修改它:
sudo nano /etc/environment
并将字符串添加到PATH:
:/usr/local/include
UPDATE
最后一步,注销+登录或刷新/ etc / environment,请看这里 。
如果将其更改为std::size_t
,它将起作用,但是我认为有效的方法是遵循@Velthune的回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.