2011-01-04 8 views
17

Mam ogromne rozwiązanie Visual Studio 2010. Pracuję z Visual Studio 2005, więc chcę przekonwertować rozwiązanie na pożądaną wersję. Zasadniczo jest to przenośny kod C++, więc powinien on również skompilować się w Visual Studio 2005. Zmiana wersji w pliku * .sln nie pomaga, ponieważ format * .vcxproj jest zupełnie inny niż stary format * .vcproj.Jak zmienić wersję rozwiązania z Visual Studio 2010 na Visual Studio 2005?

Odtworzenie rozwiązania ręcznie nie jest możliwe ze względu na jego rozmiar. Mogą również istnieć inne niż domyślne flagi kompilatorów, zależności itp., Których nie znam (i nie mogę przejrzeć WSZYSTKICH śmieci XML, których nie rozumiem).

Istnieje już powiązane pytanie na temat How Do I Downgrade a C++ Visual Studio 2008 Project to 2005. Jednak sugerowane narzędzie obsługuje maksymalnie Visual Studio 2008.

Wszelkie sugestie?

+6

Myślę, że jesteś SOL –

+2

Jeśli istnieje sposób, nie ufałbym temu. Zrób to ręcznie. –

+0

Próbowałem tego http://sourceforge.net/projects/vsconverter/?[Ja tego nie próbowałem] –

Odpowiedz

0

nie próbowałem, ale to wygląda obiecująco:

http://www.emmet-gray.com/Articles/ProjectConverter.htm

edit: Nie, nie obiecujący, sorry :-(

+3

Niestety "Istnieje zupełnie nowy format pliku projektu dla C/C++ w VS2010, więc to narzędzie nie będzie w stanie konwertować projektów C/C++ do tego nowego formatu lub z tego nowego formatu. .. " – Rup

+0

Tak, sprawdził. To nie działa "... obecnie nie jest obsługiwane". – ybungalobill

+0

Ack, to jest do bani. Miałem nadzieję, że to tylko stare stwierdzenie, ponieważ zrzuty ekranu doprowadzą cię do przekonania, że ​​zadziałało. Myślę, że jesteś SOL .. :-( – Caladain

1

W mojej pracy wykonane narzędzie, które wykorzystał EnvDTE.dll i przeskanował plik vcproj i opcjonalnie wszystkie pliki vcproj w pliku sln, porównując wszystkie ustawienia z "szablonem" i wydał ostrzeżenie lub opcjonalnie zaktualizował ustawienie w celu poprawienia wartości. Użyliśmy tego narzędzia, aby ustawienia były zweryfikowany jako poprawny i spójny we wszystkich projektach. Nie zaktualizowałem ut do 2010 r., ale ze względu na inne priorytety.

EnvDTE nie zmieniło się znacznie od Visual Studio 2008 do Visual Studio 2010. Być może możliwe jest stworzenie prostego narzędzia, które otwiera plik vcxproj za pomocą DTE100 i zapisuje go za pomocą DTE90 lub wcześniej.

1

Najprostszym sposobem jest prawdopodobnie utworzenie nowego projektu w VS 2005 i użycie okna dodawania istniejącego elementu w celu dodania kodu do projektu. Sugeruję użycie "Pustego projektu" jako typu projektu, więc nie masz automatycznie wygenerowanych śmieci, które i tak usuniesz.

+1

Nie rozwiąże to najtrudniejszej części: Nie mogę ustawić wszystkich flag kompilatora i zależności w projekcie projektowym ~ 100. – ybungalobill

4

To naprawdę całkowicie do bani, że każdy zastrzeżony IDE dzisiaj uważa, że ​​musi stworzyć własny format pliku projektu. "Drodzy programiści IDE, po prostu użyjcie Makefiles i utwórzcie dla nich fajny GUI, żeby mogli z niego korzystać także ludzie bez wiedzy Makefile!" W VS6 było co najmniej możliwe importowanie/eksportowanie plików Makefile, ale już nie dzisiaj. I możliwe było użycie nmake do zautomatyzowanych buildów. Nie trzeba instalować IDE, wystarczy pakiet narzędzi, który można pobrać za pomocą prostej kasy bez instalacji.

Używam CMake teraz. Jest bezpłatny, ma wiele platform, jest dobrze obsługiwany w darmowych IDE, takich jak KDevelop, QtCreator, itp. Może generować projekty Makefiles i Visual Studio. Dzięki temu można przechowywać tylko jedno źródło projektu, plik CMakeLists.txt i można pracować z dowolnym IDE. Bez bólu z różnymi wersjami Visual Studio lub z innymi zastrzeżonymi formatami plików projektów. W ten sposób można generować projekty lub VS do opracowania i można wygenerować pliki Makefile dla buildów linii poleceń za pomocą nmake, jak w dawnych dobrych czasach.

Przy okazji, znacznie łatwiej jest zmienić ustawienia w CMakeLists.txt niż klikając różne okna dialogowe GUI. Ale jest to kwestia osobistych preferencji.

+3

1) VS obsługuje projekty 'nmake' do dzisiaj. 2) MS przełączyło się na MSBuild, aby opisać budowę projektów. 3) Jestem sceptycznie nastawiony do tego, w jakim stopniu możliwe jest edytowanie plików make z GUI. 4) Jak myślisz, dlaczego ten gnu powinien być "standardem"? To taki brzydki system kompilacji. Wymagane jest ręczne zapisanie wszystkich tych rzeczy (powodzenia, dzięki czemu pliki Makefile są przenośne w różnych zestawach narzędzi) lub użycie narzędzi autoconf, które są jeszcze brzydsze. Istnieją lepsze systemy kompilacji (boost build, scons). – ybungalobill

+1

5) Nienawidzę CMake, ponieważ podobnie jak w przypadku configure/make nie jest to jeden krok budowania systemu. Spróbuj budować 4 różne konfiguracje w jednym wywołaniu linii poleceń ... boost.build rozwiązuje je w dużym stopniu. 6) Jak odpowiada na pytanie? – ybungalobill

+1

Z tego wszystkiego, co powiedziałem, zgadzam się z tobą na jedną rzecz: to jest do bani, że każdy IDE ma swój własny format pliku projektu. Ponadto projekty IMO nie powinny istnieć. IDE powinno być w stanie "otworzyć" dowolny makefile (czy to nmake, gmake, boost.build czy jakikolwiek inny system kompilacji), którego użyje tylko do celów kompilacji, a zamiast "Explorera rozwiązań" chcę zobaczyć zwykły stary plik drzewo plików systemowych zakorzenione w otworzonym pliku makefile. – ybungalobill

Powiązane problemy