[Giúp đỡ] Tạo một file có đuôi .bat để biên dịch file .cpp thành .exe

Thảo luận trong 'Lập Trình' bắt đầu bởi ngoctin, 6/9/18.

Tags:
  1. ngoctin Búa Gỗ

    Đóng góp nội dung

    Mọi người có thể hướng dẫn em viết một đoạn code tạo file .bat. Khi click đúp vào vào file .bat đó thì nó sẽ biên dịch một file .cpp thành một file .exe được không ạ
    Em cảm ơn nhiều !!
     

    Phụ kiện công nghệ tại Shoppe từ 49k Xem ngay

  2. malemkhoang Rìu Sắt

    Đóng góp nội dung

    Biên dịch code C++ từ command line

    Chúng ta đã sử dụng IDE kể từ khi bắt đầu học lập trình, liệu việc biên dịch từ dòng lệnh có giúp ích gì không nhỉ? Câu hỏi này cũng khó trả lời bởi nếu đã quen với những thứ tiện lợi, one-click mà không phải nghĩ ngợi nhiều, thì thường người học sẽ ngại làm việc với command line. Điều đó hoàn toàn đúng, sử dụng dòng lệnh sẽ gây nhiều khó khăn cho bạn để làm quen, vấn đề ở đây là không hề có công cụ tốt nhất, nhưng nếu biết sử dụng nhiều công cụ, bạn sẽ biết cách áp dụng đúng cho trường hợp của bạn để tiến tới việc tăng hiệu quả công việc. Các công cụ mạnh mẽ như Visual Studio có thể giúp bạn biên dịch code của mình dễ dàng, nhưng điều đó chưa đủ bởi bạn sẽ cần dùng đến nhiều thư viện, công cụ khác, và hầu hết trong số đó, để sử dụng được đều có những bước dùng tới dòng lệnh.Vậy nên mình viết bài này nhằm nêu ra những bước đơn giản để biên dịch mã nguồn C++, sử dụng MinGW.



    1. Cài đặt MinGW
    (Dev-C++ và Code::Blocks (bản có kèm trình dịch) thì trong thư mục cài đặt của 2 IDE này đã kèm theo MinGW)

    MinGW là gì?

    MinGW là từ viết tắt của Minimalist GNU for Windows: môi trường phát triển tối giản sử dụng các công cụ GNU cho Windows.

    Để cài đặt bản MinGW bản mới nhất, bạn vào website

    Link tải đã ẩn Để tránh Google nghía, bạn cần đặng nhập để thấy link. Đăng ký or đăng nhập tại đây

    và bấm vào Download Installer ở bên phải. Sau khi cài đặt, bạn chạy Installation Manager của nó và cài đặt những gói sau (bấm chuột phải và chọn Mark for Installation, sau đó lên thanh Menu chọn Installation -> Apply Changes):

    mingw32-base

    mingw32-gcc-g++

    msys-base (nếu bạn muốn sử dụng một số công cụ phổ biến của Linux)

    Cài đặt MinGW khá là đơn giản. Nếu đã có MinGW, bạn cài đặt biến môi trường theo bài viết sau để có thể gọi trình dịch trên dòng lệnh.

    Giá trị được thêm vào biến PATH chính là folder bin của thư mục nơi mà bạn cài MinGW.

    2. Biên dịch mã nguồn C++
    Giả sử tôi có một đoạn code:

    #include <iostream>

    int main() {
    std::cout << "Hello World!" << std::endl;
    return 0;
    }
    Chúng ta có thể biên dịch và chạy chương trình như sau:

    (Tất cả những dòng lệnh này đều giống với dòng lệnh trên Linux)

    Bạn vào Run và gõ cmd (có thể dùng tổ hợp phím Windows + R)

    g++ -o tên_chương_trình_không_có_dot_exe hello.cpp
    Ví dụ (*):

    g++ -o hello hello.cpp
    sẽ biên dịch ra file thực thi tên hello.exe

    Trên môi trường Linux hoặc OSX, file thực thi sẽ không có đuôi .exe như Windows

    Vậy nên cú pháp để biên dịch một chương trình đơn giản đó là:

    g++ -o program_name source_file.cpp
    Một trường hợp khác, giả sử rằng mã nguồn của bạn include một file header của thư viện được cài đặt ở đâu đó, có thể là thư viện được cài bởi các SDK: thư viện Windows, Direct3D,… hoặc thư viện do bạn tự cài đặt, bạn sẽ cần trình biên dịch biết đến đường dẫn này để tìm kiếm file header. Switch sẽ giúp bạn đó là -I.

    Ví dụ:

    g++ -o hello hello.cpp -I./libs/mylib/
    Trường hợp giả định này tôi có một folder libs chứa các thư viện và folder này nằm cùng thư mục với file mã nguồn tôi muốn biên dịch, vậy nên đường dẫn tương đối (bạn có thể dùng đường dẫn tuyệt đối) là ./libs/mylib

    Để chạy chương trình, trên command prompt của Windows bạn chỉ cần gõ tên của chương trình đó.

    Như vậy, theo cách thức trên, bạn cần tạo ra tệp .BAT với nội dung tương tự như trong ví dụ (*) là được.

    (ST)
     
    ngoctinAdministrator thích bài này.

Chia sẻ trang này