Я пытаюсь собрать GDAL (1.9.2) в x64.
В инструкции вижу:
# 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
А потом, ниже,
# 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
Не могу найти PATH, INCLUDE и LIB для x64 или что-то еще, что я должен сделать...
Я могу собрать в Win32.
В x64 я получаю ошибки компоновщика:
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'
Ставлю (для сборки в Win32)
!IFNDEF PLATFORM
PLATFORM=WIN32
!ENDIF
Изменено на
!IFNDEF PLATFORM
PLATFORM=x64
!ENDIF
(сборка в x64) - И заработало. Но только если я строю изнутри Visual Studio.
Я хотел бы иметь возможность использовать файл bat (и собирать все платформы/конфигурации). Вышеупомянутое - пока он строится в VS, он не будет строиться из командной строки (с командами:
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
То же самое в Win32...
Я не могу понять, что не так...