Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    cách khắc phục lỗi "Please use the /MD switch for _AFXDLL builds"

    Mình mới học socket , thầy bảo viết chương trình gửi 1 phân số và 1 số tự nhiên từ client vào server, server sẽ tính tổng và gửi về client. project server thì mình làm rồi, project client mình biên dịch còn 1 lỗi mà sửa mãi không xong, các bạn xem giúp mình nhé.

    Mã:
    // client.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include "client.h"#include<WinSock2.h>#ifdef _DEBUG#define new DEBUG_NEW#endif  // The one and only application object CWinApp theApp; struct PhanSo{    int tu;    int mau;}; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){    int nRetCode = 0;     HMODULE hModule = ::GetModuleHandle(NULL);     if (hModule != NULL)    {        // initialize MFC and print and error on failure        if (!AfxWinInit(hModule, NULL, ::GetCommandLine(), 0))        {            // TODO: change error code to suit your needs            _tprintf(_T("Fatal Error: MFC initialization failed
    "));            nRetCode = 1;        }        else        {            // TODO: code your application's behavior here.             WORD wVersionRequested;            WSADATA wsaData;             int err;             wVersionRequested = MAKEWORD(2, 2);            err = WSAStartup(wVersionRequested, &wsaData);             if(err != 0)            {                printf("ko the khoi tao thu vien !
    ");                exit(-1);            }              // tao socket            SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);             //Nhap dia chi            char sAdd[1000];            printf("Nhap vao dia chi server : ");            gets(sAdd);            sockaddr_in serverAdd;            serverAdd.sin_family = AF_INET;            serverAdd.sin_port = htons(30000);            serverAdd.sin_addr.S_un.S_addr = inet_addr(sAdd);             // connect den server            connect(sockClient, (sockaddr*) &serverAdd, sizeof(serverAdd));             //Nhap phan so            PhanSo ps;            printf("Nhap tu so : ");            scanf("%d", &ps.tu);            printf("Nhap mau so : ");            scanf("%d", &ps.mau);              // nhap so tu nhien             int number;            printf("Nhap so tu nhien : ");            scanf("%d", &number);              //tao socket server            SOCKET sockServer = socket(AF_INET, NULL, NULL);              //gui phan so            send(sockServer, (char*) &ps, sizeof(PhanSo), 0);             //gui so tu nhien            send(sockServer, (char*) &number, sizeof(int), 0);             /han ket qua tu server            recv(sockServer, (char*) &ps, sizeof(PhanSo), 0);                        //xuat ket qua nhan dc            printf("ket qua nhan duoc tu server la :  %d / %d ", ps.tu, ps.mau);         //  shutdown(sockServer, SD_BOTH);            closesocket(sockServer);            closesocket(sockClient);            WSACleanup();          }    }    else    {        // TODO: change error code to suit your needs        _tprintf(_T("Fatal Error: GetModuleHandle failed
    "));        nRetCode = 1;    }     return nRetCode;}

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Do bạn sử dụng lớp CWinApp, mà lớp này là của MFC nên bạn cần tạo project là MFC Project.

    Tuy nhiên bạn cũng có thể cấu hình project của bạn, sơ bộ có thể làm 1 trong 2 cách sau:

    1. Thiết lập chương trình sử dụng share library
    - Từ project của bạn chọn Properties => Configuration Properties => General => Use of MFC
    - Chọn Use MFC in a shared DLL

    2. Thiết lập chương trình sử dụng static library
    - Từ project của bạn chọn Properties => Configuration Properties => General => Use of MFC
    - Chọn Use MFC in a Static Library
    - Chọn Properties => Configuration Properties => C/C++ => Code Generation => Runtime Library
    - Chọn Multi Thread Debug (/MTd)

    Cơ bản là như thế!

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •