2009-03-14 15 views
6

Stworzyłem projekt w Visual Studio 2008 Professional Edition.Dwa pliki zawierające definicję main() Visual Studio?

Ten projekt zawiera jeden plik .cpp dla każdego zadania jak ten ...

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

I każdy plik zawiera definicję main().

Działanie: 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 

Jak mogę skompilować i zobaczyć wyjście każdego pliku?

Dzięki.

Odpowiedz

12

Nie można mieć 2 funkcji o nazwie main() w jednym projekcie. Powinieneś zmienić nazwy funkcji, a następnie wywołać je z nowej funkcji głównej(), która funkcjonowałaby jako menu.

Jeśli wykonasz osobne projekty, możesz zmienić, który z nich ma działać z Właściwościami rozwiązania -> Projekt uruchamiania.

3

Zgaduję, że w twojej sytuacji twój projekt składa się tylko z jednego pliku. Jeśli chcesz skompilować je oddzielnie to proponuję:

  • utworzyć plik projektu indywidualnego (CSPROJ) za każdy z nich
  • wykorzystanie linii poleceń kompilator CSC skompilować te pliki osobno
  • lub (jak sugerowano) przemianować bieżące główne metody uruchamiania metod, utwórz osobny plik o nazwie Program.cs za pomocą metody głównej i wywołaj tę metodę do konkretnej metody uruchamiania (w zależności od tego, które zadanie chcesz wykonać)
Powiązane problemy