2013-02-13 12 views
5

Pracuję nad 32-bitowym systemem Windows XP w C++. Ale muszę zbudować plik wykonywalny dla 64-bitowego systemu operacyjnego Windows 7. Jak mam to zrobić? Nie chcę uruchamiać pliku wykonywalnego, po prostu chcę go wyprodukować. Ponadto, jeśli konieczne jest poznanie procesorów, proszę zapytaj mnie.Tworzenie 64-bitowego pliku wykonywalnego w 32-bitowym systemie operacyjnym

Przeczytałem trochę o tym na tych stronach, cross compiling for x64 i msdn article on cross compiling. Ale nie jestem w stanie zrozumieć wielu rzeczy. Czy ktoś może mnie expalin krok po kroku, jak to zrobić z tym.

Czy ktoś może mi powiedzieć co to jest cmake? Czy możliwe jest również sprawdzenie, czy mam pełną instalację Visual Studio lub domyślną instalację po zakończeniu instalacji.

+2

Podziel zupełnie różne pytania na, no, zupełnie inne wątki. –

+0

Myślę, że odpowiedź już tam jest. Chciałbym zauważyć, że tylko kompilacja programów 64-bitowych to za mało. [Błędy 64-bitowe] (http://www.viva64.com/en/t/0002/) mogą się ujawnić. Koniecznie przetestuj program na 64-bitowym komputerze. –

+0

Teraz to jest najważniejsze - VMWare pozwoli na uruchamianie 64-bitowych maszyn-gości na 32-bitowym systemie nadrzędnym, ale Host HARDWARE * musi * być wyposażony w 64-bitową obsługę. Lub - Virtualbox obsługuje uruchamianie 64-bitowej maszyny wirtualnej VM na 32-bitowym komputerze fizycznym host, ale są pewne wymagania i inne zastrzeżenia ... Musi mieć - Potrzebujesz 64-bitowego procesora z obsługą wirtualizacji sprzętu. – SChepurin

Odpowiedz

4

Jeśli używasz Visual Studio, jest to po prostu kwestia skonfigurowania linkera do kompilacji kodu dla 64-bitowego procesora.

Otwórz właściwości projektu i wybierz Configuration properties | Linker | Advanced i zmień Target Machine na MachineX64.

Alternatywnie można dodać nową platformę budowania, IDE skonfiguruje te opcje za Ciebie. Otwórz program Configuration Manager, wybierz projekt, a w kolumnie Platforma wybierz <New...>. Następnie wybierz procesor 64-bitowy.

+0

Witam @Spook. Dziękuję za odpowiedź. :) – user1190882

Powiązane problemy