gpt4 book ai didi

c++ - Qt Creator 未定义套接字 - Linux

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:27 25 4
gpt4 key购买 nike

<分区>

我正在尝试制作一个服务器/客户端应用程序,我也在尝试为 QT 中的客户端设计一个 GUI 界面。现在,我已经设法使用库制作套接字。然而,当我将代码写入 Qt Creator 时,它说 sockaddr_in 是未定义的,即使我已经包含了库。(当我在 linux 上使用 g++ 编译代码时它工作正常)可能是什么问题?

这是我声明套接字的方式:sockaddr_in server;

编辑:可能是因为 QT Creator 没有 g++ 编译器?如果可能是这种情况,我该如何添加它?抱歉,我对 QT 和一般编程还很陌生

我正在使用“开始”按钮来启动我的应用程序,这是其中的代码:

void MainWindow::on_StartButton_clicked()
{
int port;
port=portiuse;
int clientsd;
sockaddr_in server;

if ( ( clientsd = socket(AF_INET, SOCK_STREAM, 0) ) == -1 )
{
perror("[client]Error\n");
return errno;
}

bzero (&server, sizeof (server));

server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr("127.0.0.1");
server.sin_port = htons (port);

if( ( connect(clientsd, (struct sockaddr *) &server, sizeof (struct sockaddr) ) ) == -1 )
{
perror("[client]Error()\n");
return errno;
}

这些是我得到的错误:

错误:“sockaddr_in”未在此范围内声明 sockaddr_in 服务器; ^

错误:“服务器”未在此范围内声明 bzero (&server, sizeof (server)); ^

错误:“inet_addr”未在此范围内声明 服务器.sin_addr.s_addr = inet_addr(ip); ^

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com