2009-03-14 51 views
6

Tôi đã tạo một dự án trong Visual Studio 2008 Professional Edition.Hai tệp có chứa định nghĩa của Visual Studio chính()?

dự án này chứa một tập tin cpp cho mỗi bài tập như thế này ...

[-]Source Files 
    \ 
    |-- 233.cpp 
    |-- test.cpp 

Và mỗi tập tin chứa định nghĩa của hàm main().

Hành động: CTRL + F5

Error 1 error LNK2005: _main already defined in 233.obj test.obj 
Error 2 fatal error LNK1169: one or more multiply defined symbols found 

Làm thế nào để biên dịch và xem đầu ra của mỗi tập tin?

Cảm ơn.

Trả lời

12

Bạn không thể có 2 hàm gọi là main() trong một dự án duy nhất. Những gì bạn cần làm là thay đổi tên của các hàm, và sau đó gọi chúng từ một hàm main() mới sẽ hoạt động như một menu.

Nếu bạn tạo các dự án riêng biệt, bạn có thể chuyển đổi dự án nào để chạy với Thuộc tính giải pháp -> Dự án khởi động.

3

Tôi đoán trong trường hợp của bạn, dự án của bạn chỉ bao gồm một tệp. Nếu bạn muốn biên dịch chúng riêng rẽ sau đó tôi đề nghị:

  • tạo dự án cá nhân tập tin (csproj) cho mỗi trong số họ
  • sử dụng dòng lệnh biên dịch CSC để biên dịch những tập tin riêng
  • hoặc (như đề xuất) đổi tên phương pháp chính hiện tại của bạn để chạy phương pháp, tạo một tệp riêng biệt có tên là Program.cs chỉ với phương thức chính và từ phương thức này gọi đến phương thức chạy cụ thể (tùy thuộc vào tác vụ bạn muốn thực hiện)
Các vấn đề liên quan