Khắc phục: Không có mục tiêu nào được chỉ định và không tìm thấy tệp makefile.
Cho dù bạn đang làm việc với Ubuntu, Debian hay Red Hat, bạn có thể thấy lỗi đọc: *** Không có mục tiêu nào được chỉ định và không tìm thấy tệp makefile. Dừng lại. Vì đây là một vấn đề chung liên quan đến GNU Thực hiện như một tổng thể, bạn có thể thấy nó trên vô số các triển khai Unix. Nó có nghĩa là không có một tập tin gọi là makefile hoặc Makefile trong thư mục làm việc hiện tại của bạn. May mắn thay, đó là một lỗi dễ sửa chữa.
Phương pháp 1: Tìm kiếm tệp Makefile trong thư mục hiện tại
Bạn có thể thử chạy lệnh make thêm một lần nữa trong thư mục hiện tại để xem có lỗi tương tự bị ném vào bạn hay không. Điều này đặc biệt quan trọng nếu bạn đã mở một cửa sổ dòng lệnh mới và đã cố định vị trí đúng thư mục hoặc nếu bạn đã sử dụng lệnh cd kể từ lần cuối cùng bạn cố chạy GNU.
Giả sử rằng nó, hãy thử chạy lệnh ls hoặc dir để xem những tập tin nào nằm trong thư mục hiện tại của bạn. Bạn có thể không ở phần bên phải của cây thư mục. Nếu bạn nhận thấy rằng bạn thấy các thư mục nằm trong thư mục gốc / thư mục hoặc thư mục home ~ của bạn, thì bạn sẽ muốn chạy lệnh cd để định vị chính mình ở đúng nơi để chạy lệnh make.
Có một cơ hội bạn có thể thấy mình ở xa hơn nữa từ nơi bạn mong đợi. Trong ví dụ của chúng tôi, chúng tôi đã thử chạy từ thư mục / var / crash và thấy nó không hoạt động. Nó không thể được dự kiến sẽ chạy từ đây, vì các tệp duy nhất ở vị trí cụ thể này là từ các báo cáo sự cố không liên quan.
Nhiều khả năng, bạn sẽ muốn chạy lệnh make của bạn từ một thư mục nằm ở đâu đó bên trong thư mục chính của bạn. Ví dụ, nếu bạn đang xây dựng phiên bản mới nhất của GNU nano từ nguồn thì bạn có thể có một thư mục nằm ở ~ / nano-2.9.6 mà bạn có thể cd và sau đó chạy lại. Bạn có thể thử chạy ls một lần nữa trước khi bạn cố gắng thực hiện để đảm bảo rằng có một makefile nằm trong thư mục để bạn xây dựng.
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đâyHãy nhớ rằng bạn cần phải cấu hình cài đặt trước. Lệnh cấu hình tạo môi trường hoàn hảo cho trình biên dịch GNU phát triển. Nếu bạn không tìm thấy một makefile ngay cả trong thư mục dự án đúng, thì hãy chạy ./configure trong khi bạn vẫn còn bên trong nó, theo sau là lệnh make . Nếu điều này biên dịch chính xác, thì bạn có thể cài đặt dự án của bạn với sudo make install, nhưng hãy nhớ rằng bạn không muốn xây dựng bất cứ thứ gì như root, vì vậy bạn sẽ không bao giờ muốn chạy sudo make hay bất cứ thứ gì khác ngoài cài đặt.
Phương pháp 2: Chỉ định Makefile tùy chỉnh
Giả sử rằng cố định vấn đề, không có gì nhiều hơn bạn cần phải làm. Tuy nhiên, có hai trường hợp sử dụng đặc biệt để xem xét nếu phương pháp trước đó không khắc phục được sự cố của bạn. Cả hai đều liên quan đến viết makefile của riêng bạn cho một dự án mà bạn đã cấu hình bằng tay.
Bạn có thể chỉ định một makefile tùy chỉnh được gọi là một cái gì đó khác ngoài nghĩa đen makefile bằng cách sử dụng tùy chọn -f. Ví dụ, nếu bạn có một makefile sao lưu gọi là makefile.bak thì bạn có thể chỉ định nó bằng cách chạy make -f makefile.bak từ dòng lệnh. Bạn có thể thay thế makefile.bak bằng bất kỳ tên tệp nào và bạn có thể bao gồm tùy chọn -i nếu bạn muốn bỏ qua các lỗi trong một tệp makefile tùy chỉnh hoặc lỗi thời trong khi trình biên dịch đang chạy. Điều này thường không được khuyến khích, vì có thể bạn sẽ muốn chỉnh sửa makefile của mình nếu có bất kỳ điều gì sai trái với nó.
Trường hợp sử dụng liên quan rất chặt chẽ khác liên quan đến một tình huống mà độ nhạy trường hợp là một vấn đề. Sau đây là tất cả các tệp riêng biệt theo cách kinh doanh Unix:
- Makefile
- makefile
- makeFile
- MakeFile
- MakefilE
Các chương trình được cấu hình tùy chỉnh có thể không thể nhận ra một tệp makefile với cách viết hoa kỳ lạ. Nếu bạn đã viết tay nó cho một dự án mã hóa mà bạn đang làm việc, thì có thể bạn sẽ muốn đổi tên nó thành makefile mặc dù bạn có thể sử dụng tùy chọn -i để đảm bảo rằng GNU tạo ra khả năng tìm kiếm nó. Hãy nhớ rằng nếu bạn đã viết mọi thứ chính xác, thì bạn vẫn có thể chạy ./configure từ dự án của riêng bạn để buộc nó tạo ra môi trường thích hợp và tránh vấn đề này, để bắt đầu.
Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây