[pdal] Build Issues on Windows

Howard Butler hobu.inc at gmail.com
Tue Jul 24 08:46:55 PDT 2012


current svn of GDAL does do the CPL_STDCALL declaration, but it is indeed missing the CPL_DLL declaration.

I have fixed this in GDAL trunk and backported it to the 1.9 branch.  The OSGeo4W build would have to be refreshed, however. Simply adjusting the declaration after the fact probably won't work, as it provides information to the linker as the dll is built.

http://trac.osgeo.org/gdal/ticket/4755

Thanks,

Howard

On Jul 24, 2012, at 9:19 AM, Edgar Ellis wrote:

> Could be an oversight in GDAL:
> 
>    void* CPL_STDCALL CPLGetErrorHandlerUserData(void);
> 
> Seems to be missing the usual CPL_DLL for exporting the symbol on windows.
> 
> - Edgar
> 
> On 22/07/2012 6:09 PM, Smith, Michael ERDC-CRREL-NH wrote:
>> David,
>> 
>> I see unresolved symbols on _CPLGetErrorHandlerUserData. Seems like its
>> not finding GDAL (for reprojection). Have you set a path to the GDAL lib
>> directory?
>> 
>> Mike
>> 
>> --
>> Michael Smith
>> US Army Corps
>> Remote Sensing GIS/Center
>> 
>> From: David Saeger <saegeritup at gmail.com <mailto:saegeritup at gmail.com>>
>> Date: Sunday, July 22, 2012 3:42 PM
>> To: "pdal at lists.osgeo.org <mailto:pdal at lists.osgeo.org>"
>> <pdal at lists.osgeo.org <mailto:pdal at lists.osgeo.org>>
>> Subject: [pdal] Build Issues on Windows
>> 
>> *Cant get PDAL built for some reason. After faithfully following the
>> directions on PDAL's website, giving up trying to build to my Ubuntu
>> partition, failing at building on my windows partition I figured maybe I
>> could try my luck on the mailing list.
>> 
>> Here is the feedback I get after configuring.bat:*
>> 
>> C:\dev\PDAL>config.bat
>> -- Using embedded boost tree
>> -- Searching for GDAL 1.9.0+ library
>> -- ...building with GDAL
>> -- Could not find GEOS
>> -- Searching for GeoTIFF 1.2.5+ library
>> -- Found GeoTIFF version: 1.3.0
>> -- Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR)
>> -- Found iconv library: c:/OSGeo4W/lib/iconv.lib
>> -- Searching for Oracle + OCI client library
>> -- ...building with Oracle
>> -- Searching for LASzip 1.0.1+ library
>> -- Found LASzip version: 2.1.0
>> -- Searching for NumPy library
>> -- Found NumPy at C:\Python27\lib\site-packages\numpy\core\include
>> -- Found Python: C:/Python27/libs/python27.lib
>> -- Using boost lib: pdalboost.lib
>> -- Building with PDAL unit tests
>> -- Configuring done
>> -- Generating done
>> CMake Warning:
>> Manually-specified variables were not used by the project:
>> 
>> FREEGLUT_INCLUDE_DIR
>> FREEGLUT_LIBRARY
>> 
>> *
>> And here is the error list I get once I attempt the to build in Visual
>> Studio:*
>> 
>> Warning 1 warning D9025: overriding '/W4' with '/w' C:\dev\PDAL\boost\cl
>> pdalboost
>> Warning 2 warning D9025: overriding '/W4' with '/w' C:\dev\PDAL\boost\cl
>> pdalboost
>> Warning 3 warning D9025: overriding '/W4' with '/w' C:\dev\PDAL\boost\cl
>> pdalboost
>> Warning 4 warning LNK4006: _main already defined in unit_test_main.obj;
>> second definition ignored C:\dev\PDAL\boost\cpp_main.obj pdalboost
>> Warning 5 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Reader'
>> C:\dev\PDAL\include\pdal\drivers\oci\Reader.hpp 59 1 pdal
>> Warning 6 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Writer'
>> C:\dev\PDAL\include\pdal\drivers\oci\Writer.hpp 54 1 pdal
>> Warning 7 warning C4251: 'std::_String_val<_Elem,_Alloc>::_Alval' :
>> class 'std::allocator<_Ty>' needs to have dll-interface to be used by
>> clients of class 'std::_String_val<_Elem,_Alloc>'
>> c:\OSGeo4W\include\cpl_string.h 223 1 pdal
>> Warning 8 warning C4251: 'std::_String_val<_Elem,_Alloc>::_Alval' :
>> class 'std::allocator<_Ty>' needs to have dll-interface to be used by
>> clients of class 'std::_String_val<_Elem,_Alloc>'
>> c:\OSGeo4W\include\cpl_string.h 223 1 pdal
>> Warning 9 warning C4100: 'pszDefault' : unreferenced formal parameter
>> C:\dev\PDAL\src\drivers\nitf\mpg_nitffile.cpp 1986 1 pdal
>> Warning 10 warning C4251: 'std::_String_val<_Elem,_Alloc>::_Alval' :
>> class 'std::allocator<_Ty>' needs to have dll-interface to be used by
>> clients of class 'std::_String_val<_Elem,_Alloc>'
>> c:\OSGeo4W\include\cpl_string.h 223 1 pdal
>> Warning 11 warning C4100: 'geometry' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Crop.cpp 184 1 pdal
>> Warning 12 warning C4189: 'bFirst' : local variable is initialized but
>> not referenced C:\dev\PDAL\src\filters\Crop.cpp 187 1 pdal
>> Warning 13 warning C4189: 'ret' : local variable is initialized but not
>> referenced C:\dev\PDAL\src\filters\Crop.cpp 344 1 pdal
>> Warning 14 warning C4244: 'argument' : conversion from 'int64_t' to
>> 'uint32_t', possible loss of data C:\dev\PDAL\src\filters\Crop.cpp 443 1
>> pdal
>> Warning 15 warning C4244: 'argument' : conversion from 'int64_t' to
>> 'uint32_t', possible loss of data C:\dev\PDAL\src\filters\Crop.cpp 444 1
>> pdal
>> Warning 16 warning C4244: 'argument' : conversion from 'int64_t' to
>> 'const uint32_t', possible loss of data C:\dev\PDAL\src\filters\Crop.cpp
>> 459 1 pdal
>> Warning 17 warning C4100: 'k' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Index.cpp 153 1 pdal
>> Warning 18 warning C4100: 'distance' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Index.cpp 153 1 pdal
>> Warning 19 warning C4100: 'z' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Index.cpp 153 1 pdal
>> Warning 20 warning C4100: 'y' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Index.cpp 153 1 pdal
>> Warning 21 warning C4100: 'x' : unreferenced formal parameter
>> C:\dev\PDAL\src\filters\Index.cpp 153 1 pdal
>> Warning 22 warning C4189: 'y' : local variable is initialized but not
>> referenced C:\dev\PDAL\src\filters\Index.cpp 230 1 pdal
>> Warning 23 warning C4189: 'x' : local variable is initialized but not
>> referenced C:\dev\PDAL\src\filters\Index.cpp 229 1 pdal
>> Warning 24 warning C4189: 'z' : local variable is initialized but not
>> referenced C:\dev\PDAL\src\filters\Index.cpp 231 1 pdal
>> Warning 25 warning C4100: 'buffer' : unreferenced formal parameter
>> C:\dev\PDAL\src\drivers\las\Reader.cpp 840 1 pdal
>> Warning 26 warning C4189: 'output' : local variable is initialized but
>> not referenced C:\dev\PDAL\src\drivers\las\Writer.cpp 558 1 pdal
>> Warning 27 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Reader'
>> C:\dev\PDAL\include\pdal\drivers\oci\Reader.hpp 59 1 pdal
>> Warning 28 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Writer'
>> C:\dev\PDAL\include\pdal\drivers\oci\Writer.hpp 54 1 pdal
>> Error 29 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\Reprojection.obj pdal
>> Error 30 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\Reader.cpp.obj pdal
>> Error 31 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\Writer.cpp.obj pdal
>> Error 32 error LNK2019: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 referenced in function "public: static
>> void __stdcall pdal::gdal::Debug::trampoline(enum CPLErr,int,char const
>> *)" (?trampoline at Debug@gdal at pdal@@SGXW4CPLErr@@HPBD at Z)
>> C:\dev\PDAL\src\GDALUtils.obj pdal
>> Error 33 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\StageFactory.obj pdal
>> Error 34 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\Colorization.obj pdal
>> Error 35 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\src\InPlaceReprojection.obj pdal
>> Error 36 error LNK1120: 1 unresolved externals
>> C:\dev\PDAL\bin\Debug\pdal.dll pdal
>> Warning 37 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Writer'
>> C:\dev\PDAL\include\pdal\drivers\oci\Writer.hpp 54 1 pc2pc
>> Warning 38 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Reader'
>> C:\dev\PDAL\include\pdal\drivers\oci\Reader.hpp 59 1 pc2pc
>> Error 39 error C2065: 'm_geosEnvironment' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 40 error C2653: 'pcquery' : is not a class or namespace name
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 41 error C2065: '_GEOSWarningHandler' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 42 error C2653: 'pcquery' : is not a class or namespace name
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 43 error C2065: '_GEOSErrorHandler' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 44 error C3861: 'initGEOS_r': identifier not found
>> C:\dev\PDAL\apps\pcquery.cpp 125 1 pcquery
>> Error 45 error C2065: 'GEOSWKTReader' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 126 1 pcquery
>> Error 46 error C2065: 'reader' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 126 1 pcquery
>> Error 47 error C2065: 'm_geosEnvironment' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 126 1 pcquery
>> Error 48 error C3861: 'GEOSWKTReader_create_r': identifier not found
>> C:\dev\PDAL\apps\pcquery.cpp 126 1 pcquery
>> Error 49 error C2065: 'GEOSGeometry' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 127 1 pcquery
>> Error 50 error C2065: 'geom' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 127 1 pcquery
>> Error 51 error C2065: 'm_geosEnvironment' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 127 1 pcquery
>> Error 52 error C2065: 'reader' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 127 1 pcquery
>> Error 53 error C3861: 'GEOSWKTReader_read_r': identifier not found
>> C:\dev\PDAL\apps\pcquery.cpp 127 1 pcquery
>> Error 54 error C2065: 'geom' : undeclared identifier
>> C:\dev\PDAL\apps\pcquery.cpp 128 1 pcquery
>> Error 55 error LNK2019: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 referenced in function "public: static
>> void __stdcall pdal::gdal::Debug::trampoline(enum CPLErr,int,char const
>> *)" (?trampoline at Debug@gdal at pdal@@SGXW4CPLErr@@HPBD at Z)
>> C:\dev\PDAL\apps\pc2pc.obj pc2pc
>> Error 56 error LNK1120: 1 unresolved externals
>> C:\dev\PDAL\bin\Debug\pc2pc.exe pc2pc
>> Warning 57 warning C4389: '==' : signed/unsigned mismatch
>> C:\dev\PDAL\boost\boost\test\test_tools.hpp 536 1 pdal_test
>> Warning 58 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 90 1 pdal_test
>> Warning 59 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 101 1 pdal_test
>> Warning 60 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 104 1 pdal_test
>> Warning 61 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 105 1 pdal_test
>> Warning 62 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 108 1 pdal_test
>> Warning 63 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 109 1 pdal_test
>> Warning 64 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 113 1 pdal_test
>> Warning 65 warning C4702: unreachable code
>> c:\dev\pdal\test\unit\apps\pcinfotest.cpp 114 1 pdal_test
>> Warning 66 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Reader'
>> C:\dev\PDAL\include\pdal\drivers\oci\Reader.hpp 59 1 pdal_test
>> Warning 67 warning C4275: non dll-interface class
>> 'pdal::drivers::oci::OracleDriver' used as base for dll-interface class
>> 'pdal::drivers::oci::Writer'
>> C:\dev\PDAL\include\pdal\drivers\oci\Writer.hpp 54 1 pdal_test
>> Warning 68 warning C4189: 'num_read' : local variable is initialized but
>> not referenced C:\dev\PDAL\test\unit\drivers\nitf\NitfReaderTest.cpp 161
>> 1 pdal_test
>> Warning 69 warning C4505: 'NitfWriterTest::compare_contents' :
>> unreferenced local function has been removed
>> C:\dev\PDAL\test\unit\drivers\nitf\NitfWriterTest.cpp 47 1 pdal_test
>> Error 70 error LNK2019: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 referenced in function "public: static
>> void __stdcall pdal::gdal::Debug::trampoline(enum CPLErr,int,char const
>> *)" (?trampoline at Debug@gdal at pdal@@SGXW4CPLErr@@HPBD at Z)
>> C:\dev\PDAL\test\unit\OCITest.obj pdal_test
>> Error 71 error LNK2001: unresolved external symbol
>> _CPLGetErrorHandlerUserData at 0 C:\dev\PDAL\test\unit\GDALUtilsTest.obj
>> pdal_test
>> Error 72 error LNK1120: 1 unresolved externals
>> C:\dev\PDAL\bin\Debug\pdal_test.exe 1 1 pdal_test
>> *
>> 
>> If anyone has any suggestions as to what I am doing wrong I would be
>> very appreciative. *
>> 
>> --
>> David Saeger
>> 305.984.5539
>> 
>> 
>> This body part will be downloaded on demand.
> _______________________________________________
> pdal mailing list
> pdal at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/pdal

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20120724/ce81366d/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.osgeo.org/pipermail/pdal/attachments/20120724/ce81366d/attachment-0001.pgp>


More information about the pdal mailing list