From: Alan W. I. <ir...@be...> - 2017-10-05 03:10:16
|
On 2017-10-05 00:57+0100 Phil Rosenberg wrote: > The my cmake command and its output are attached. I noted particularly the lines > > -- Looking for gdi32 header and library > -- Looking for gdi32 header and library - not found > -- WARNING: Setting PLD_wingcc to OFF. > > I do set the cmake lib directory in my command to point it to the > location of shapelib, I don't know if that affects anything. Setting CMAKE_LIBRARY_PATH to help CMake find shapelib should not interfere with CMake's ability to find other libraries. > I am on Windows 10 64 bit. Thanks for that important information concerning your Windows version. The cmake messages above come from cmake/modules/wingcc.cmake and the first part of the relevant logic is find_library(GDI32_LIBRARY gdi32 HINTS ${MINGWLIBPATH} ${BORLANDLIBPATH}) if(GDI32_LIBRARY) find_library(COMDLG32_LIBRARY comdlg32 HINTS ${MINGWLIBPATH} ${BORLANDLIBPATH}) endif(GDI32_LIBRARY) If you read through the rest of the logic, the above output is telling you that either the gdi32 (gdi) or comdlg32 (dialog box) libraries cannot be found by CMake in standard system locations (as determined by CMake) for your platform. What does your cache file say about the variables GDI32_LIBRARY and (possibly) COMDLG32_LIBRARY? From those values you can determine whether gdi32 was not found (and therefore comdlg32 never looked for) or gdi32 found but comdlg32 not found. If both those libraries are installed on your system but in a non-standard location that CMake doesn't know about, then you may have to give CMake a hint where they are by setting CMAKE_LIBRARY_PATH appropriately. However, I suspect instead the problem may be that the GDI API and Dialog Box API (which apparently are still used heavily on all Windows platforms including Windows 10) are located in libraries with names other than gdi32 and comdlg32 for your 64-bit Windows 10 platform. If so, and you know those alternate names, then all you have to do is to change the above logic to find_library(GDI32_LIBRARY NAMES gdi32 <alternate name for gdi32> HINTS ${MINGWLIBPATH} ${BORLANDLIBPATH}) if(GDI32_LIBRARY) find_library(COMDLG32_LIBRARY NAMES comdlg32 <alternate name for comdlg32> HINTS ${MINGWLIBPATH} ${BORLANDLIBPATH}) endif(GDI32_LIBRARY) @Arjen and Jim: Please chime in as well especially on the question of what library names provide the GDI API and Dialog Box API for the 64-bit Windows 10 platform if Phil doesn't figure those names out before you. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |