Kann nicht bauen gdal in x64
Ich versuche zu bauen GDAL (1.9.2) in x64.
In der Anleitung, ich sehe:
# Uncomment the following if you are building for 64-bit windows
# (x64). You'll need to have PATH, INCLUDE and LIB set up for 64-bit
# compiles.
!IF "$(PLATFORM)" == "x64"
WIN64=YES
!ENDIF
Und dann, unten,
# Under win64, symbols for function names lack the underscore prefix
# present on win32. Also the STDCALL calling convention is not used.
!IFDEF WIN64
!UNDEF STDCALL
!ELSE
SYM_PREFIX=_
!ENDIF
Nicht finden können, ein PFAD, INCLUDE und LIB spezifisch für x64, oder irgendetwas anderes, dass ich tun soll...
Kann ich bauen Win32.
In x64, bekomme ich linker-Fehler:
LINK : error LNK2001: unresolved external symbol _OGRFeatureStylePuller
LINK : error LNK2001: unresolved external symbol _OSRValidate
...
gdal19.dll : fatal error LNK1120: 74 unresolved externals
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\BIN\link.EXE"' : return code '0x460'
Ich setzen (bauen in Win32)
!IFNDEF PLATFORM
PLATFORM=WIN32
!ENDIF
Geändert
!IFNDEF PLATFORM
PLATFORM=x64
!ENDIF
(bauen im x64) - Und es funktionierte. Aber nur, wenn ich den build in Visual Studio.
Ich würde gerne in der Lage sein, verwenden Sie eine bat-Datei (und bauen alll-Plattform/Konfigurationen)
Die oben - während es baut in VS, Sie bauen nicht von der Kommandozeile aus
(mit den Befehlen:
start /b /wait nmake -f makefile.vc clean
start /b /wait nmake.exe /f makefile.vc PLATFORM=x64
start /b /wait nmake.exe /f makefile.vc devinstall PLATFORM=x64
Genau das gleiche baut Win32...
Ich kann nicht herausfinden, was falsch ist...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich es geschafft, bauen die x64-version von GDAL unter Visual Studio 2012 mit Schritten von http://dominoc925.blogspot.ru/2013/03/build-64-bit-gdal-for-windows.html:
Entpacken Sie in ein Verzeichnis, z.B.
C:\tmp\gdal-1.9.2\
Wenn Sie versucht, den Aufbau GDAL zuvor (z.B. x86), stellen Sie sicher, dass das build-Verzeichnis (
C:\warmerda\bld\
) und dem source-Verzeichnis sauber aus dem vorherigen build versuchen. Wenn Sie unsicher sind, versuchen Sie, die Quellen entpacken in ein neues Verzeichnis.Start
VS2012 x64 Native Tools Command Prompt
:Start -> Alle Programme -> Microsoft Visual Studio 2012 -> Visual Studio Tools ->
Open VS2012 x64 Native Tools Command Prompt
Oder laufen
%comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64
).Wechseln Sie in das Verzeichnis mit den entpackten GDAL-Quellen:
Bauen GDAL mit der Entwicklung Dateien:
Können Sie Ihre MSVC_VER Anzahl von hier. GDAL wird gebaut und installiert, um
C:\warmerda\bld\
."C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
musste ich wischen Sie die build-Verzeichnis durch eine Vorherige x86 installieren und Folgen Sie @Solkar Kommentar und schließlich @rutsky Anweisungen arbeitete als Charme. Rutsky die Anweisungen sind viel klarer als die, die in den gdal-WebseiteBauen mit nmake-Befehlszeile, die ich hatte, um den Befehl von einer Befehl-shell, die über die entsprechenden Variablen gesetzt, um build für 64 bit.
Dies ist, was ich Tat, um das einrichten der 64 bit Umgebung:
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.Fledermaus" amd64
Sollten Sie zuerst irgendwie klar machen für die Leser dieses Threads, die über die 6 Bearbeitungen, die Sie getan haben, doch der Fokus Ihrer Frage geändert mehr als einmal, wie man sehen kann aus der revision history
Sowieso:
Jetzt ist es nur eine batch-vs-ide, build-job-Problem; versuchen Sie, exportieren Sie die Datei makefile aus VS
EXPORTIEREN! NICHT nur dem öffnen der Verpackung orginal makefile.vc in einem editor-Fenster!
speichern Sie es unter einem anderen Namen aus dem Paket die "makefile.vc" und verwenden Sie, die in Ihrem batch.
"Ich kann im Win32."
Haben Sie gebaut hatte für Win32, BEVOR Ihr Win64 gebaut Versuch?
Wenn ja, pls besuchen
http://trac.osgeo.org/gdal/ticket/4636, unten in der Antwort-Liste:
Könnte man auch versuchen, einfach entpacken Sie die Quelle wieder auf ein anderes Verzeichnis, um eine saubere Struktur und versuchen Sie, bauen es für Win64.