<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">The
</span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">linker
</span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">error is produced by the '</span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">dimb</span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">uilder'
component. I have attached the linker command and error messages to this email.</span><br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br>
</span></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif"><span style="font-size: 12pt;">It appears to me that </span>OSGeo4W distribution only include "Release" built of all libraries. When building PDAL with "Release" configuration everything
works fine but when building PDAL with "Debug" configuration the linking fails due to library mismatch. As far as I know it is not possible to mix "Release" and "Debug" libraries when running or building an application.</font></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif"><br>
</font></div>
<div style=""><font color="#000000" face="Calibri, Helvetica, sans-serif">Does OSGeo4W provide "Debug" configuration of all libraries?</font></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;">kind regards, Lars</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;"><br>
</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Fra:</b> pdal <pdal-bounces@lists.osgeo.org> på vegne av Howard Butler <howard@hobu.co><br>
<b>Sendt:</b> 23. april 2018 15:42<br>
<b>Kopi:</b> pdal@lists.osgeo.org<br>
<b>Emne:</b> Re: [pdal] PDAL Windows debug configuration</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText"><br>
<br>
On 4/23/18 8:18 AM, Andrew Bell wrote:<br>
> On Mon, Apr 23, 2018 at 7:57 AM, Lars <laasunde@hotmail.com> wrote:<br>
><br>
>> Hello<br>
>><br>
>> Does 'Building under Windows' support building 'Debug' configuration (64<br>
>> bit)?<br>
Congratulations on being the first to attempt it as far as we know! More<br>
seriously, you are wading into an alligator pond that no one has walked<br>
across yet. We will be happy to merge any items you find along the way.<br>
>><br>
>> We get the following compiler error under debug config;<br>
>><br>
>> pdal_kazhdan.vcxproj -> C:\temp\xyz\lib\Debug\pdal_kazhdan.lib<br>
>> jsoncpp.lib(json_value.cpp.obj) : error LNK2038: mismatch detected for<br>
>> '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in DimBuilder.obj<br>
>> jsoncpp.lib(json_value.cpp.obj) : error LNK2038: mismatch detected for<br>
>> 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value<br>
>> 'MDd_DynamicDebug' in DimBuilder.obj<br>
>><br>
> ...<br>
><br>
> I really don't understand what would be going on here. Something seems<br>
> quite mixed up. The kazhdan library has no reference to jsoncpp as far as<br>
> I can tell and nothing should be linking in DimBuilder.obj. Perhaps it's<br>
> just the output that's confused/misleading?<br>
><br>
> What I think is happening is that you have no jsoncpp library built in<br>
> debug mode. If you remove jsoncpp (or hide it away somewhere), PDAL should<br>
> build its own internal version with the correct compiler options. But this<br>
> may not be what's wrong as it's hard to say without the actual command<br>
> that's causing an error.<br>
Presumably there is /MT vs /MTd confusion in PDAL's sub-libraries. I<br>
think there will need to be some additional cmake configuration<br>
modification so that the right library type definition makes it down to<br>
these PDAL sub-libraries. I agree with Andrew. PDAL built on the OSGeo4W<br>
stack uses the external OSGeo4W jsoncpp, but the error looks like the<br>
internal embedded one. Something is mixed up.<br>
<br>
> Have you cleaned all the output from some previous build?<br>
><br>
> Do I need to manually download all 3rd party components and build them for<br>
>> debug in order for this to work?<br>
>><br>
> I don't know for sure, but it may be the case. The Windows library<br>
> compatibility issues aren't fun.<br>
The OSGeo4W builds on AppVeyor are built with packages from OSGeo4W and<br>
configuration in appveyor.yml and ./scripts/ci/appveyor. These files are<br>
the best source of a known configuration. We only build Release or<br>
RelWithDebInfo builds. I attempted a full Debug build once and started<br>
running into the same issues you did. After seeing all the yaks lining<br>
up for shearing, I ran off.<br>
<br>
>> Two minor question<br>
>> - At what point are feature-branches merged back into master branch?<br>
>><br>
> There's no schedule. Often we wait for review.<br>
That said master is active development until approximately one month<br>
before release. We are working to get a document together with our<br>
release tic toc and schedule approach on the website in the Project<br>
section by the 1.7.2 release. Watch<br>
<a href="https://www.pdal.io/project/index.html">https://www.pdal.io/project/index.html</a> for more.<br>
>> - Does PDAL have a fixed release iterval?<br>
>><br>
> Not at this time, though we try to have releases on a fairly regular basis.<br>
><br>
We aim for three to four major releases per year, with maintenance<br>
releases starting with 1.7.x coming as needed. Our next maintenance<br>
release will be 1.7.2 in mid-May, which will be cut from the<br>
1.7-maintenance branch. We try to be careful to only merge bug fixes to<br>
the -maintenance branch.<br>
<br>
<br>
</div>
</span></font></div>
</body>
</html>