# 64 Bit compillieren im VC8 unter Vista



## raven-bs (17. April 2007)

Hallo,

Ich versuche unter Windows Vista und dem Visual Studio 2005 - mit Service Pack 1 - eine 64 Bit binary zu erstellen.

Erstmal mit diesem kleinen Testprogramm (Der inhalt des Programmes ist absichtlich ineffizient! )

```
// primtest.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include "iostream"
#include <windows.h>
#include <time.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	cout << "Starte Primtest" << endl;
	int startzeit = time( NULL );
	int found = 0;
	for(int i=0; i < 100000; i++ )
	{
		bool isPrim = true;
		int j=i/2;
		while( j > 1 )
		{
			int k = i % j;
			if( k == 0 )
			{
				isPrim = false;
			}
			j--;
		}
		if( isPrim )
			found++;
			//cout << "primzahl " << i << endl;
	}
	
	int endzeit = time( NULL );
	cout << "Primtest Ende. Gefunden: " << found << " in: " << (endzeit - startzeit) <<  endl;
	Sleep( 500000 );
	return 0;
}
```


Ich stelle also auf "Link Time code Generation" und im Linker auf die Einstellung "Zielcomputer MachineX64(/MACHINE:X64)"

Der Linker bringt dann diese Fehlermeldung:
Fehler	4	fatal error LNK1112: Modul-Computertyp "X86" steht in Konflikt mit dem Zielcomputertyp "x64".

Laut MSDN bedeutet dies:
Der Linker versucht aus dem Objectfile den Zielcomputer herauszufinden. wenn sich dieser von der internen einstellung unterscheidet gibt es diese Meldung.

Wo aber kann ich für die Objekterstellung die Architektur ändern? Ich konnte hier trotzt ausführlicher Recherche nichts finden...

Hat schon mal wer ein 64 bit Vista projekt compilert und einen Tipp hierfür?


----------



## Anfänger92 (18. April 2007)

Wenn man nichts umstellt sollte es eigentlich gehen.
Ich benutze Vista x64  und alles funktioniert prima.


----------



## Matthias Reitinger (18. April 2007)

Hallo,

versuch's mal so:

Rechtsklick auf die Projektmappe (im Projektmappen-Explorer)
Konfigurations-Manager…
Beim Drop-Down „Aktive Projektmappenplattform“ den Punkt „<Neu…>“ auswählen
Im geöffneten Dialogfenster oben „x64“ auswählen, unten „Win32“ ausgewählt lassen und dann bestätigen
Nun kann für jedes Projekt der Projektmappe in der unteren Liste die Plattform eingestellt werden
So klappt es zumindest bei meinem VS2005 Standard SP1 (unter Windows XP 32-bit).

Grüße,
Matthias


----------



## raven-bs (18. April 2007)

Ich konnte das Problem jetzt dank diesem Thread hier lößen:
http://www.c-plusplus.de/forum/viewtopic-var-p-is-1268475.html#1268475

Ihr habt beide Recht.

Aber:
Unter Windows Vista mit SP1 des Devstudios gibt es diesen Button schlichtweg nicht mehr. Unter Windows XP mit SP1 gibt es ihn noch. Aktuell vermuten wir dass es sich um einen Bug im SP1 handelt - oder die Funktion wurde absichtlich deaktiviert da Sie eventuell einen Fehler triggert.

Ich habe es nun von XP 32 auf Vista 64 cross-compilliert - damit läuft es.


----------



## katisss (23. Januar 2008)

Bei mir gibts im Konfigurationsmanager von visual stidio kein x64 ?
Plattform sdk hab ich. Was mach ich falsch?


----------



## katisss (23. Januar 2008)

Bei mir gibts im Konfigurationsmanager von visual studio kein x64 ?
Plattform sdk hab ich. Was mach ich falsch?
Wenn ich versuch x64 anzulegen sagt es 
"es können keine neuen Projektplattformen erstellt werden"


----------



## Debster (15. September 2009)

Ich hatte ähnliche Probleme.Ich glaube das liegt daran, das ich vorher die Express Edition installiert hatte und später auf die 2005 Professional Version upgegraded hatte.Dabei scheint die 64Bit Unterstützung nicht automatisch installiert worden zu sein. Ich habe das dann über das setup Programm nachgehohlt.


----------

