Computer >> Máy Tính >  >> Lập trình >> MySQL

Xử lý các vấn đề Biên dịch MySQL


Một số vấn đề với việc biên dịch MySQL có thể là do bạn không định cấu hình đúng cách. Do đó, giải pháp là cấu hình lại.

Nếu CMake được chạy ngay sau khi nó được chạy trước đó, có khả năng nó sẽ sử dụng thông tin đã được thu thập từ cuộc gọi trước đó của nó. Thông tin này có trong CMakeCache.txt. Khi CMake bắt đầu, nó tìm kiếm tệp này và đọc nội dung (nếu nó tồn tại), giả sử rằng thông tin là chính xác. Giả định này trở nên sai khi tệp được định cấu hình lại.

Mỗi lần CMake được chạy, ‘make’ phải được thực thi lại để biên dịch lại. Có thể xóa các tệp đối tượng cũ từ các bản dựng trước vì chúng sẽ được biên dịch bằng các tùy chọn cấu hình khác nhau.

Để ngăn các tệp đối tượng cũ hoặc thông tin cấu hình được cài đặt hiện tại sử dụng, các lệnh sau cần được chạy trước khi chạy lại CMake -

Trên Unix

shell> make clean
shell> rm CMakeCache.txt

Trên Windows

shell> devenv MySQL.sln /clean
shell> del CMakeCache.txt

Nếu nó được xây dựng bên ngoài cây nguồn, thư mục xây dựng phải được xóa và tạo lại trước khi chạy lại CMake. Trên một số hệ thống, cảnh báo có thể xảy ra do sự khác biệt trong hệ thống bao gồm các tệp.

Để xác định trình biên dịch C và C ++ nào sẽ sử dụng, các biến môi trường CC và CXX có thể được định nghĩa. Nó đã được hiển thị bên dưới -

shell> CC=gcc
shell> CXX=g++
shell> export CC CXX

Để chỉ định cờ trình biên dịch C và C ++ của riêng người dùng, có thể sử dụng tùy chọn CMAKE_C_FLAGS và CMAKE_CXX_FLAGSCMake.

Để xem người dùng cần chỉ định cờ nào, mysql_config cùng với các tùy chọn −−cflags và −−cxxflags có thể được gọi.

Để xem lệnh nào đang được thực thi trong giai đoạn biên dịch, hãy chạy ‘make VERBOSE =1’ thay vì chạy ‘make’ sau khi sử dụng CMake để cấu hình MySQL. Nếu quá trình biên dịch không thành công, hãy kiểm tra xem tùy chọn MYSQL_MAINTAINER_MODE có được bật hay không. Chế độ này khiến cảnh báo trình biên dịch trở thành lỗi, do đó việc vô hiệu hóa nó có thể cho phép quá trình biên dịch diễn ra.