Từ 1 tới 2 trên tổng số 2 kết quả

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

  1. #1
    Ngày gia nhập
    12 2010
    Bài viết
    19

    Mặc định 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é.
    Visual C++ Code:
    1. // client.cpp : Defines the entry point for the console application.
    2. //
    3.  
    4. #include "stdafx.h"
    5. #include "client.h"
    6. #include<WinSock2.h>
    7. #ifdef _DEBUG
    8. #define new DEBUG_NEW
    9. #endif
    10.  
    11.  
    12. // The one and only application object
    13.  
    14. CWinApp theApp;
    15.  
    16. struct PhanSo
    17. {
    18.     int tu;
    19.     int mau;
    20. };
    21.  
    22. using namespace std;
    23.  
    24. int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
    25. {
    26.     int nRetCode = 0;
    27.  
    28.     HMODULE hModule = ::GetModuleHandle(NULL);
    29.  
    30.     if (hModule != NULL)
    31.     {
    32.         // initialize MFC and print and error on failure
    33.         if (!AfxWinInit(hModule, NULL, ::GetCommandLine(), 0))
    34.         {
    35.             // TODO: change error code to suit your needs
    36.             _tprintf(_T("Fatal Error: MFC initialization failed\n"));
    37.             nRetCode = 1;
    38.         }
    39.         else
    40.         {
    41.             // TODO: code your application's behavior here.
    42.  
    43.             WORD wVersionRequested;
    44.             WSADATA wsaData;
    45.  
    46.             int err;
    47.  
    48.             wVersionRequested = MAKEWORD(2, 2);
    49.             err = WSAStartup(wVersionRequested, &wsaData);
    50.  
    51.             if(err != 0)
    52.             {
    53.                 printf("ko the khoi tao thu vien !\n");
    54.                 exit(-1);
    55.             }
    56.  
    57.  
    58.             // tao socket
    59.             SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);
    60.  
    61.             //Nhap dia chi
    62.             char sAdd[1000];
    63.             printf("Nhap vao dia chi server : ");
    64.             gets(sAdd);
    65.             sockaddr_in serverAdd;
    66.             serverAdd.sin_family = AF_INET;
    67.             serverAdd.sin_port = htons(30000);
    68.             serverAdd.sin_addr.S_un.S_addr = inet_addr(sAdd);
    69.  
    70.             // connect den server
    71.             connect(sockClient, (sockaddr*) &serverAdd, sizeof(serverAdd));
    72.  
    73.             //Nhap phan so
    74.             PhanSo ps;
    75.             printf("Nhap tu so : ");
    76.             scanf("%d", &ps.tu);
    77.             printf("Nhap mau so : ");
    78.             scanf("%d", &ps.mau);
    79.  
    80.  
    81.             // nhap so tu nhien
    82.             int number;
    83.             printf("Nhap so tu nhien : ");
    84.             scanf("%d", &number);
    85.  
    86.  
    87.             //tao socket server
    88.             SOCKET sockServer = socket(AF_INET, NULL, NULL);
    89.  
    90.  
    91.             //gui phan so
    92.             send(sockServer, (char*) &ps, sizeof(PhanSo), 0);
    93.  
    94.             //gui so tu nhien
    95.             send(sockServer, (char*) &number, sizeof(int), 0);
    96.  
    97.             //nhan ket qua tu server
    98.             recv(sockServer, (char*) &ps, sizeof(PhanSo), 0);
    99.            
    100.             //xuat ket qua nhan dc
    101.             printf("ket qua nhan duoc tu server la :  %d / %d ", ps.tu, ps.mau);
    102.  
    103.         //  shutdown(sockServer, SD_BOTH);
    104.             closesocket(sockServer);
    105.             closesocket(sockClient);
    106.             WSACleanup();
    107.  
    108.  
    109.         }
    110.     }
    111.     else
    112.     {
    113.         // TODO: change error code to suit your needs
    114.         _tprintf(_T("Fatal Error: GetModuleHandle failed\n"));
    115.         nRetCode = 1;
    116.     }
    117.  
    118.     return nRetCode;
    119. }

  2. #2
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    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ế!
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

Các đề tài tương tự

  1. nghĩa của 3 từ "principals", "artifacts", "securables" là như thế nào?
    Gửi bởi ntbao trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 2
    Bài viết cuối: 02-09-2017, 06:36 PM
  2. Đặt Ngọc Trinh "lên bàn cân" với loạt "Nữ hoàng nội y" khắp châu Á
    Gửi bởi prorex trong diễn đàn Giải trí - Thư giãn
    Trả lời: 2
    Bài viết cuối: 08-11-2013, 12:46 PM
  3. Bài tập C sủ dụng lệnh "switch "và "default"
    Gửi bởi nguyenvu_kute trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 1
    Bài viết cuối: 14-09-2012, 07:35 PM
  4. Problems : " recover tree " with input as " preorder" and "inorder"
    Gửi bởi HoangManhHa1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 10:19 PM
  5. Lỗi "ambiguous call to overload function" khi gọi hàm pow(), giúp khắc phục?
    Gửi bởi bao_lua_bk trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 20-03-2011, 11:55 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn