2011-12-25 30 views
5

Tôi đã cố gắng biên dịch một chương trình với cmake và tôi đã xóa tệp main.cpp của mình, mà tôi vừa gộp vào một tệp khác chứa tên dự án của tôi (tức là tôi vừa cắt và dán chức năng chính vào đó). Vấn đề là tôi gặp lỗi không tìm thấy main.cpp và không chắc chắn có hay không trong C++ một tệp được gọi là main.cpp là bắt buộc hoặc tôi có thể có tệp có tiêu đề khác có chứa hàm chính thay thế không?Yêu cầu main.cpp phải không?

Sửa tôi nên lưu ý rằng tôi loại bỏ bất kỳ đặc điểm kỹ thuật để main và đã biên dịch lại chương trình này.

+0

Tệp 'CMakeLists.txt' của bạn trông như thế nào? Nó có đề cập cụ thể đến 'main.cpp' không? –

+0

Đã cập nhật để rõ ràng. – zeboidlund

Trả lời

8

Không, bạn không cần tệp có tên main.cpp. Bạn không cần tệp chứa hàm main() trừ khi bạn đang xây dựng một ứng dụng. Tức là, nếu bạn vừa xây dựng một thư viện các hàm hoặc một tệp đối tượng độc lập, bạn sẽ không yêu cầu hàm main().

0

Bạn có thể sử dụng bất kỳ tên tệp nào bạn muốn, bạn chỉ cần cập nhật nó trong makefile

3

Tên của tệp nguồn không có gì để làm cho chương trình xây dựng thành công. Tất cả bạn cần một tệp nguồn có chức năng chính. Làm thế nào bao giờ, đặt tên tập tin là main.cpp chỉ là một thực hành lập trình để chỉ dễ dàng xác định vị trí mà chức năng chính là.

0

Không có phương pháp chính nào không có trong tệp có tên main.cpp.

Các vấn đề liên quan