Tôi đang tìm một công cụ có thể tạo ra makefile cho một dự án C/C++ cho các trình biên dịch khác nhau (gcc, microsoft vC++, borland vv) và các nền tảng khác nhau (Win, Linux, Mac).bất kỳ công cụ tốt nào cho thế hệ makefile?
Trả lời
gợi ý khác bạn có thể muốn xem xét:
Scons là một cross-platform, cross-trình biên dịch xây dựng thư viện, sử dụng Python scruipting cho các hệ thống xây dựng. Được sử dụng trong nhiều dự án lớn và hoạt động rất tốt.
Nếu bạn đang sử dụng Qt, QMake cũng là một hệ thống xây dựng đẹp.
CMake cũng khá ngọt ngào.
Cuối cùng, If all else fails...
Bạn đã thử Automatic Makefile Generator chưa?
Nó hỗ trợ cho các trình biên dịch như sau:
Borland 3.1 Borland 5.0 Borland 5.0, 16 bit Borland 5.5 Borland 5.6 Borland 5.8 CC Gnu g++ Gnu g++, dynamic library Intel 5, 6, 7 for Linux Intel 5, 6, 7 for Linux, dynamic library Intel 5, 6, 7 for windows Intel 8,9,10 for Linux Intel 8,9,10 for Linux, dynamic library Intel 8,9 for windows Intel 10 for windows Visual C++ 5 Visual C++ 6, 7, 7.1 Visual C++ 8 Open Watcom Watcom 10A Watcom 10A, 16 bit
tôi sẽ còn thứ hai CMake. Tôi đã sử dụng nó khá lâu trên một dự án đa nền tảng và tôi rất hài lòng với nó.
Một vấn đề cần xem xét là bạn có muốn người tạo "makefile" hoặc hệ thống xây dựng thay thế không? Vấn đề với các hệ thống xây dựng thay thế là bạn thường không nhận được sự tích hợp IDE tốt cho các nền tảng mà người dùng mong đợi điều này (Visual C++). Nếu bạn muốn một người sáng tạo makefile thay vì một hệ thống xây dựng thay thế, hãy xem MPC. Đó là mã nguồn mở và miễn phí.
Tôi đã sử dụng Bakefile trước đây với một số thành công. Nó khá đơn giản và có vẻ hoạt động tốt.
Tự động tạo (M | m) akefiles khiến tôi lo lắng về những gì bạn đang cố gắng làm ở đây.
Bạn có hiểu những gì diễn ra dưới bìa khi bạn nhập không? Hay gmake? Tôi chỉ hỏi vì nếu bạn không làm khi mọi thứ bị hỏng, chẳng hạn như các thay đổi mã mới không được tích hợp vào bản dựng, bạn sẽ gặp khó khăn khi cố gắng làm việc những gì đã xảy ra.
Để bắt đầu hiểu, tôi có thể đề xuất đọc "Managing Projects with GNU Make" của Robert Mecklenberg không. Các chương đầu bao gồm cách thức hoạt động. Nhận được nghe của bạn xung quanh thực tế là thực hiện là chuỗi ngược là một trong những điều lớn nhất bạn có thể làm.
Nếu bạn không làm như vậy và hệ thống của bạn dường như hoạt động, bạn sẽ sử dụng thuật ngữ "programming by coincidence" của The Pragmatic Programmers '. (-:!..
BTW lớn các bài báo có sẵn tại trang web của họ Và tôi không tham gia với họ YMMV Yada-yada ...
CMake là công cụ duy nhất mà thực sự có thể tạo ra các dự án Visual Studio thực (tức là không phải "Makefile" -projects mà gọi ra một công cụ bên ngoài), và tự động tái tạo các dự án khi các tập tin đầu vào xây dựng (CMakeLists.txt) thay đổi. trên danh sách gửi thư của SCons.
Tôi sẽ bỏ phiếu cho OMake. Nó sửa tất cả các khiếu nại tôi đã có với GNU:
- đó là một ngôn ngữ toàn diện.
- sử dụng MD5 thay vì dấu thời gian.
- cung cấp trình bao tối thiểu thực hiện các lệnh unix hữu ích nhất trên tất cả các nền tảng: tìm, sed, awk, v.v.
- hoạt động với tên đường dẫn kiểu unix hoặc dos.
- được ghi lại rộng rãi.
- hỗ trợ các bản dựng song song.
- nhanh.
Một bổ sung gần đây vào danh sách thay thế thực hiện là waf. Từ kinh nghiệm cá nhân, SCONS thực hiện công việc khá tốt.
Tôi không biết bạn có quan tâm đến câu hỏi này nữa không. Tôi đang làm việc trên một máy chiếu tự động Makefile tương tự được gọi là CodeMate, được phát triển bằng cách sử dụng Ruby. Có lẽ nó không phải là trưởng thành cho ứng dụng lớn ngay bây giờ, nhưng tôi sẽ tiếp tục làm việc trên nó để làm cho nó tốt hơn. Người dùng không cần chỉnh sửa bất kỳ tệp cấu hình nào để xây dựng phần mềm, hoặc ít nhất nó được cho là. Đường cong học tập cần được giảm thiểu.
- 1. Bất kỳ bộ công cụ web C/C++ nào tốt?
- 2. Bất kỳ thực tiễn hay công cụ nào tốt nhất cho kho lưu trữ Ivy?
- 3. Có bất kỳ công cụ tốt nào cho bản địa hóa giả của iOS không?
- 4. Có bất kỳ công cụ nào tương tự như intellitrace
- 5. Bất kỳ công cụ xây dựng tốt nào cho một dự án C++, có thể thay thế được?
- 6. Bất kỳ công cụ tốt nào để nhanh chóng chuyển đến tài liệu lập trình
- 7. Có bất kỳ công cụ DRYer mã nào không?
- 8. Bất kỳ công cụ so sánh lược đồ cơ sở dữ liệu SQL Anywhere nào tốt?
- 9. Có bất kỳ công cụ XSL Lint nào không?
- 10. Công cụ thế hệ WADL
- 11. Bất kỳ công cụ định dạng dòng lệnh nào có sẵn cho tệp java?
- 12. Bất kỳ sự thay thế nào cho Bugsense cho ACRA
- 13. Bất kỳ công cụ phân biệt/hợp nhất văn bản nào cho .NET?
- 14. Bất kỳ công cụ trực quan nào cho các không gian chính của Cassandra?
- 15. Bất kỳ tham khảo nào tốt cho JQOM?
- 16. Bất kỳ khung công tác NIO nào cho .NET?
- 17. Có bất kỳ công cụ gỡ rối đồng thời nào cho C# .NET trong VS2010
- 18. Bất kỳ công cụ nào cho biết mỗi phương thức chạy bao lâu?
- 19. Có bất kỳ tập lệnh/công cụ JAVADOCS tương tự nào cho các tệp Javascript không?
- 20. Có bất kỳ công cụ tạo biểu đồ lớp nào cho mã nguồn python không?
- 21. Có bất kỳ công cụ Diff HTML nào khác cho .NET
- 22. Bất kỳ tài liệu nào tốt cho giao diện cblas?
- 23. Tìm kiếm khung công tác Flipbook. Bất kỳ lựa chọn thay thế nào cho Turn.js?
- 24. Bất kỳ công cụ nào tương tự như ứng dụng Hyperterminal?
- 25. Công cụ tốt để chạy các tập lệnh SQL dựa vào bất kỳ cơ sở dữ liệu nào?
- 26. Có bất kỳ sản phẩm GUI tốt cho bên thứ 3 nào cho Python không?
- 27. Bất kỳ công cụ nào để tạo mã JavaScript từ AST
- 28. Bất kỳ thư viện DSP C/C++ nào tốt?
- 29. Làm thế nào để bạn kích hoạt mod_rewrite trên bất kỳ hệ điều hành nào?
- 30. Bất kỳ giải pháp tốt nào cho một hệ thống trợ giúp tích hợp trong các ứng dụng WPF?
Một liên kết SO chết khác! Tôi đã truy cập trang GitHub của bạn theo cách thủ công và những gì tôi thấy ở đó là CodeMate là một công cụ xây dựng Fortran chỉ có gì đó. Bạn đã tạo một dự án khác có cùng tên chưa? [This] (https://github.com/shepherddog/CodeMate) có vẻ như nó có thể là ý của bạn. – refi64