You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Andreas Richter <ar...@oszine.de> on 2006/10/20 08:24:26 UTC
can't use apr_time_ansi_put
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
i have installed svn 1.4.0 executable and the _dev package on windows.
When i try to link (MSVC2005) against libapr.lib and try to use
apr_time_ansi_put then i become an linker error that it can't find the
symbol
__imp_apr_time_ansi_put@12
I have searched for that symbol in the svn libraries and doesn't find
it. I can find only the symbol
__imp_apr_time_ansi_put@8
The same source compiled successfull on linux with svn 1.4.
Are there any bugs in the development libraries? I have no idea where i
can solve this problem. Any help are welcome.
Tia & Greetings
- --
Andreas 'ar' Richter
http://www.oszine.de - http://ar.oszine.de
GPG-KeyID: 0x7BA12DD9
Fingerprint: D2E9 202B F4F0 EB16 25DE 5FF7 0CF2 3C57 7BA1 2DD9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFOIe6DPI8V3uhLdkRAgKtAKCLIyz1qienGkIC/rNIZPwjc1hAJACgla6W
HrhUEZIGoeggL9SRzatB1bk=
=5cPq
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: can't use apr_time_ansi_put
Posted by Andreas Richter <ar...@oszine.de>.
Am Sonntag, 29. Oktober 2006 21:17 schrieb D.J. Heap:
> The issue is a difference in the definition of time_t -- VC2005
> changed it to a 64bit type by default and these libraries are built
> with VC6. Set the _USE_32BIT_TIME_T preprocessor definition for your
> VC2005 project and it will work.
Thanks. That's work.
--
Andreas 'ar' Richter
http://www.oszine.de - http://ar.oszine.de
GPG-KeyID: 0x7BA12DD9
Fingerprint: D2E9 202B F4F0 EB16 25DE 5FF7 0CF2 3C57 7BA1 2DD9
Re: can't use apr_time_ansi_put
Posted by Andreas Richter <ar...@oszine.de>.
Am Sonntag, 29. Oktober 2006 21:28 schrieb D.J. Heap:
>
> I should also mention that this snippet is incorrect and will not
> actually work, of course. It needs to look more like:
>
> apr_time_t result;
> apr_status_t status;
> time_t input = time(0);
>
> status = apr_time_ansi_put( &result, input );
You're right. It was only an example. The original code looks:
DateTime::DateTime(const QDateTime&dt)
: m_time(0)
{
apr_time_ansi_put(&m_time,dt.toTime_t());
}
--
Andreas 'ar' Richter
http://www.oszine.de - http://ar.oszine.de
GPG-KeyID: 0x7BA12DD9
Fingerprint: D2E9 202B F4F0 EB16 25DE 5FF7 0CF2 3C57 7BA1 2DD9
Re: can't use apr_time_ansi_put
Posted by "D.J. Heap" <dj...@gmail.com>.
On 10/29/06, D.J. Heap <dj...@gmail.com> wrote:
> On 10/29/06, Andreas Richter <ar...@oszine.de> wrote:
> [snip]
> >
> > Hm. It looks like my calls are correct. In apr_time.h (from the
> > svn-win32-1.4.0_dev.zip) apr_time_ansi_put ist declared as:
> >
> > APR_DECLARE(apr_status_t) apr_time_ansi_put(apr_time_t *result,
> > time_t input);
> >
> >
> > and my call (for example) is:
> >
> > apr_time_t *result;
> > time_t input;
> >
> > apr_time_ansi_put( result, input );
> >
> > MSVC++2005 compiles it correct but can't link it. I become the following
> > (german) error message:
> >
> > error LNK2019: Verweis auf nicht aufgelöstes externes
> > Symbol "__imp__apr_time_ansi_put@12" in Funktion ""public: __thiscall
> > svn::DateTime::DateTime(class QDateTime const &)"
> > (??0DateTime@svn@@QAE@ABVQDateTime@@@Z)"..
> >
> > > Maybe someone with more win32 experience can confirm whether this is a
> > > general problem with the win32 development package.
> >
> > Are there any known problems in the development packages svn-win32-1.4.0?
> >
>
>
> The issue is a difference in the definition of time_t -- VC2005
> changed it to a 64bit type by default and these libraries are built
> with VC6. Set the _USE_32BIT_TIME_T preprocessor definition for your
> VC2005 project and it will work. Or you could also rebuilt APR
> yourself with VC2005 if you want the 64bit time_t.
>
I should also mention that this snippet is incorrect and will not
actually work, of course. It needs to look more like:
apr_time_t result;
apr_status_t status;
time_t input = time(0);
status = apr_time_ansi_put( &result, input );
DJ
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: can't use apr_time_ansi_put
Posted by "D.J. Heap" <dj...@gmail.com>.
On 10/29/06, Andreas Richter <ar...@oszine.de> wrote:
[snip]
>
> Hm. It looks like my calls are correct. In apr_time.h (from the
> svn-win32-1.4.0_dev.zip) apr_time_ansi_put ist declared as:
>
> APR_DECLARE(apr_status_t) apr_time_ansi_put(apr_time_t *result,
> time_t input);
>
>
> and my call (for example) is:
>
> apr_time_t *result;
> time_t input;
>
> apr_time_ansi_put( result, input );
>
> MSVC++2005 compiles it correct but can't link it. I become the following
> (german) error message:
>
> error LNK2019: Verweis auf nicht aufgelöstes externes
> Symbol "__imp__apr_time_ansi_put@12" in Funktion ""public: __thiscall
> svn::DateTime::DateTime(class QDateTime const &)"
> (??0DateTime@svn@@QAE@ABVQDateTime@@@Z)"..
>
> > Maybe someone with more win32 experience can confirm whether this is a
> > general problem with the win32 development package.
>
> Are there any known problems in the development packages svn-win32-1.4.0?
>
The issue is a difference in the definition of time_t -- VC2005
changed it to a 64bit type by default and these libraries are built
with VC6. Set the _USE_32BIT_TIME_T preprocessor definition for your
VC2005 project and it will work. Or you could also rebuilt APR
yourself with VC2005 if you want the 64bit time_t.
DJ
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: can't use apr_time_ansi_put
Posted by Andreas Richter <ar...@oszine.de>.
Am Freitag, 27. Oktober 2006 03:05 schrieb Malcolm Rowe:
> On Fri, Oct 20, 2006 at 10:24:26AM +0200, Andreas Richter wrote:
> > When i try to link (MSVC2005) against libapr.lib and try to use
> > apr_time_ansi_put then i become an linker error that it can't find the
> > symbol
> > __imp_apr_time_ansi_put@12
> >
> > I have searched for that symbol in the svn libraries and doesn't find
> > it. I can find only the symbol
> > __imp_apr_time_ansi_put@8
>
> It looks like there's a problem with the calling convention or prototype
> that your include file is bringing in, because your compiler has decided
> that it should pass a larger set of arguments to that function than the
> function in the library declares.
Hm. It looks like my calls are correct. In apr_time.h (from the
svn-win32-1.4.0_dev.zip) apr_time_ansi_put ist declared as:
APR_DECLARE(apr_status_t) apr_time_ansi_put(apr_time_t *result,
time_t input);
and my call (for example) is:
apr_time_t *result;
time_t input;
apr_time_ansi_put( result, input );
MSVC++2005 compiles it correct but can't link it. I become the following
(german) error message:
error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol "__imp__apr_time_ansi_put@12" in Funktion ""public: __thiscall
svn::DateTime::DateTime(class QDateTime const &)"
(??0DateTime@svn@@QAE@ABVQDateTime@@@Z)"..
> Maybe someone with more win32 experience can confirm whether this is a
> general problem with the win32 development package.
Are there any known problems in the development packages svn-win32-1.4.0?
--
Andreas 'ar' Richter
http://www.oszine.de - http://ar.oszine.de
GPG-KeyID: 0x7BA12DD9
Fingerprint: D2E9 202B F4F0 EB16 25DE 5FF7 0CF2 3C57 7BA1 2DD9
Re: can't use apr_time_ansi_put
Posted by Malcolm Rowe <ma...@farside.org.uk>.
On Fri, Oct 20, 2006 at 10:24:26AM +0200, Andreas Richter wrote:
> When i try to link (MSVC2005) against libapr.lib and try to use
> apr_time_ansi_put then i become an linker error that it can't find the
> symbol
> __imp_apr_time_ansi_put@12
>
> I have searched for that symbol in the svn libraries and doesn't find
> it. I can find only the symbol
> __imp_apr_time_ansi_put@8
>
It looks like there's a problem with the calling convention or prototype
that your include file is bringing in, because your compiler has decided
that it should pass a larger set of arguments to that function than the
function in the library declares.
Maybe someone with more win32 experience can confirm whether this is a
general problem with the win32 development package.
Regards,
Malcolm