Hệ Thống File Trình Biên Dịch MinGW C/C++, Thêm Thư Viện Boost Vào ...

Thông tin hệ thống: Hệ điều hành windowns,phần mềm code::blocks, trình biên dịch mingw, thư viện boost.

<file name>.o : file đối tượng obj được biên dịch từ file chương trình, ví dụ file chương trình main.cpp, sau biên dịch sẽ có file obj là main.o

<file name>.a : file thư viện tĩnh khi build chương trình or thư viện được biên dịch sẵn, được tạo ra bằng cách link (kết nối các file .o với nhau), file này phổ biến trong hệ điều hành linux, đối với windowns thì file thư viện tĩnh là .lib

Để trình biên dịch hoạt động khi include thư viện: phải có các file header hpp, cpp của thư viện cùng với file .a đã biên dịch của thư viện.

Ví dụ với trình biên dịch code::blocks,sử dụng thư viện boost, ta có file main.cpp chứa 2 dòng include như sau:

#include <boost/program_options.hpp> #include <iostream>

mặc dù ta có thể chỉ trực include đến file hpp trên ổ đĩa để chương trình tìm để biên dịch ví dụ: #include <D:/lib/boost/program_options.hpp>

Cách này chỉ thích hợp khi file thư viện có một file, nếu trong file thư viện còn include nhiều file thư viện khác thì ta không thể nào Sửa lại hết tất các include để trình biên dịch tìm,

Để sử dụng thư viện boost trong code::blocks chúng ta cần phải biên dịch lại mã nguồn

tải mã nguồn từ https://www.boost.org , tải về file nén.

sau khi tải về và giải nén thực hiện theo các bước sau: 1-vào cmd, trỏ về thư mục mã nguồn thư viện 2-gõ lệnh:bootstrap gcc 3-đợi 1 lát,sau đó chương trình b2.exe sẽ được tạo ra tại thư mục mã nguồn 4-gõ b2 để bắt đầu biên dịch, thời gian có thể khá lâu tùy thuộc vào khả năng của máy tính.

Sau khi biên dịch thành công ta sẽ có thư mục sau:

Capture các file .a được tạo ra

Vào settings–> compiler trong code::block cài đặt theo hình bên dưới: Capturephần linker settings: chỉ đến thư mục chứa thư viện ***.a sau khi biên dịch,sử dụng thư viện nào sử dụng hoặc add toàn bộ, chương trình sẽ chỉ lấy thư viện khai báo trong chương trình.Capture phần search directories: chỉ đến thư mục chứa các file header và source của thư viện.

Kiến thức bổ sung: nếu bạn nào sử dụng arduino(sử dụng trình biên dịch gcc avr), có thể theo dõi console khi biên dịch file hex trên IDE để biết quá trình tạo ra file hex, tương tự như file thực thi .exe

Mọi người tham khảo có gì sai sót mong được góp ý.

leevawns/japan/01062018

Chia sẻ:

  • X
  • Facebook
Thích Đang tải...

Có liên quan

Từ khóa » Thư Viện Boost Trong C++