POV-Ray : Newsgroups : povray.programming : Help! VC5 Question! Server Time
28 Jul 2024 18:18:11 EDT (-0400)
  Help! VC5 Question! (Message 1 to 2 of 2)  
From: Steve Horn <horn <dot> 74 @ osu
Subject: Help! VC5 Question!
Date: 8 Aug 1999 02:11:56
Message: <37ad1fac@news.povray.org>
I'm using Visual C++ 5.0 and I have successfully compiled the source for
a Win95 v3.1 Pvengine using the project out of the VC5 directory.   The
problem is, it can't link the final executable because of unresolved
externals.  The three unresolved externals are all contained in
povtext.obj.

The first is __imp__InitCommonControlsEx corresponding to
a function call in pvtext.c,  InitCommonControlsEx(&icex) around line
1347.

The second is __imp__ImageList_Create corresponding to a function call
in pvtext.c,
if((ToolImages2 = ImageList_Create(14, etc...
    return(hwnd);
In the function create_toolbar() around line 1315.

The third is __imp__ImageList_AddMasked corresponding to a function call

dt->iBitmap = ImageList_AddMasked(ToolImages....
shortly afterwards in the same function.

I should mention that these functions have no prototype anywhere in all
of the source code in every directory.  In fact, the strings do not even
appear in any of the libraries or object files.

Notice that the call that apparently alters icex, returns, and the local
variable, icex, is not used anywhere else in its function.

Also, one of the developers assigned a macro HIMAGELIST to both
ToolImages1 and ToolImages2, but then he never used this macro anywhere.

Upon removing all the detriminal references, I can compile and link
flawlessly.   When I run the executable, I get an error window saying:
"Can't create internal window #1"
and another saying:
"Can't create internal window #2"
and then povray exits.  The code that is trapping these errors appears
in pvengine.c  and finds an error directly after calling the code where
I remmed-out these mystery functions.

From reading your posts, I know that some of you are successfully
building povray executables using VC5.  In fact, one of you has even
complained about the speed of the resulting executable. ;)  I would
appreciate any help in this matter. Thanks,
---------------------------------------------
Steve H.


Post a reply to this message

From: Ron Parker
Subject: Re: Help! VC5 Question!
Date: 8 Aug 1999 22:12:08
Message: <37af3858.116683808@news.povray.org>
On Sun, 08 Aug 1999 02:18:41 -0400, "Steve Horn <horn <dot> 74 @ osu"
<"dot> edu."> wrote:

>I'm using Visual C++ 5.0 and I have successfully compiled the source for
>a Win95 v3.1 Pvengine using the project out of the VC5 directory.   The
>problem is, it can't link the final executable because of unresolved
>externals.  The three unresolved externals are all contained in
>povtext.obj.
>
>The first is __imp__InitCommonControlsEx corresponding to
>a function call in pvtext.c,  InitCommonControlsEx(&icex) around line
>1347.
>
>The second is __imp__ImageList_Create corresponding to a function call
>in pvtext.c,
>if((ToolImages2 = ImageList_Create(14, etc...
>    return(hwnd);
>In the function create_toolbar() around line 1315.
>
>The third is __imp__ImageList_AddMasked corresponding to a function call

I think you'll find that the functions in question are part of the
common controls library that came with later versions of Internet
Explorer.  You might need either a new copy of the platform SDK, or
you might have missed a library in the linker specs.  ISTR that there 
was a problem with the release version not including one or more
libraries that the debug version included; I guess I'd first check
that anything the debug project links with is also included in the
release project.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.