去掉一定要包含#include "stdafx.h"的错误。

本文介绍了一个常见的编译错误——未包含预编译头文件stdafx.h的问题及解决方法。通过调整Visual Studio工程配置,将预编译头文件设置为不使用,从而解决了因删除默认文件导致的编译失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写了个小程序,新建控制台应用程序,没有选择空工程建立,默认生成了几个文件。我用不到,就都从工程里删除了。然后自己添加的文件编写。最后编译的时候,编译不过去,原因是提示这个文件没有包含 stdafx.h的头文件。

解决办法,打开工程属性,

配置属性---》c/c++---》预编译头  

把里面的创建使用预编译头改成不使用就可以了。

将Create/Use Precompiled Header 设置为Not Using就可以了。

// TestMultiThreadClient.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <winsock2.h> #include <ws2tcpip.h> #include <stdio.h> #include <stdlib.h> #pragma comment(lib, "ws2_32.lib") #define SERVER_IP "127.0.0.1" #define PORT 8080 #define BUFFER_SIZE 1024 int _tmain(int argc, _TCHAR* argv[]) { WSADATA wsaData; SOCKET clientSocket; struct sockaddr_in serverAddr; char buffer[BUFFER_SIZE]; int recvSize; // 初始化 Winsock if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { printf("WSAStartup failed.\n"); return 1; } // 创建客户端套接字 clientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (clientSocket == INVALID_SOCKET) { printf("Socket creation failed.\n"); WSACleanup(); return 1; } // 设置服务器地址 serverAddr.sin_family = AF_INET; serverAddr.sin_addr.s_addr = inet_addr(SERVER_IP); serverAddr.sin_port = htons(PORT); // 连接到服务器 if (connect(clientSocket, (struct sockaddr*)&serverAddr, sizeof(serverAddr)) == SOCKET_ERROR) { printf("Connection failed.\n"); closesocket(clientSocket); WSACleanup(); return 1; } printf("Connected to server.\n"); while (1) { // 输入消息 printf("Enter message: "); fgets(buffer, BUFFER_SIZE, stdin); buffer[strlen(buffer) - 1] = '\0'; // 去掉换行符 // 发送消息 send(clientSocket, buffer, strlen(buffer), 0); // 如果输入 "bye",退出循环 if (strcmp(buffer, "bye") == 0) { printf("Closing connection.\n"); break; } // 接收服务器回显 recvSize = recv(clientSocket, buffer, BUFFER_SIZE, 0); if (recvSize <= 0) { printf("Server disconnected or error occurred.\n"); break; } buffer[recvSize] = '\0'; // 确保字符串以 null 结尾 printf("Received from server: %s\n", buffer); } // 关闭客户端套接字 closesocket(clientSocket); WSACleanup(); return 0; }
03-29
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TheDeaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值