$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] Compile under 32bits but not under 64bits
From: Juanma Font (juanmafont_at_[hidden])
Date: 2010-03-19 10:20:30
Hello, Christian ¡¡¡¡¡¡¡
Yes ¡¡¡¡
Firts trying a casting onto function
--------------
png_size1 = (ptrdiff_t) png_read_dimensions( "prueba.png" );
--------------
This give a error, but important information->
error: invalid cast from type âboost::gil::point2<long int>â to type âptrdiff_tâ
So try:
----
point2<long int> png_size1(3,4);
----
And all is it OK :))))
But your solution is the best.
----------
point2<ptrdiff_t> png_size1(3,4);
.....
png_size1 = (ptrdiff_t) png_read_dimensions( "prueba.png" );
---------
And leave the compiler to choose the correct type ¡¡¡¡ ;)
Thank a lot of..
2010/3/19, Christian Henning <chhenning_at_[hidden]>:
> Hi Juanma,
>
> On Thu, Mar 18, 2010 at 3:14 PM, Juanma Font <juanmafont_at_[hidden]> wrote:
>> Hello ¡¡¡
>>
>> Â Probed with boost 1.38 and 1.40 on linux ubuntu karmic
>>
>> Â Example: check64.cpp
>>
>> ---------------
>> #include "check64.hpp"
>>
>> int main()
>>
>> {
>> point2<int> png_size1(3,4);
>> point2<int> png_size2;
>>
>>
>> wxMessageBox( wxT("Reading png dimensions prueba.png "), wxT("Hello") );
>>
>> // ok, compile into 32bits and 64bits
>> png_size2=png_size1;
>>
>> // ok, compile into 32bits and 64bits
>> png_read_dimensions( "prueba.png" );
>>
>> //ERROR, THIS ONLY COMPILE WITH 32bits
>> png_size1 = png_read_dimensions( "prueba.png" );
>>
>> return 0;
>> }
>
> Can you use ptrdiff_t instead of int? If not you might have to define
> a custom convert function since png_read_dimensions() returns
> point2<ptrdiff_t>. A fix is simple but you might be satisfied with
> ptrdiff_t.
>
> Regards,
> Christian
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://listarchives.boost.org/mailman/listinfo.cgi/boost-users
>