Web lists-archives.com

Re: i686 ld couldn't resolve wglCreateContext from libopengl32.a on x86_64 system




On 2017-03-02 18:14, sorryforaskingthis.bk.ru via cygwin wrote:
On 2017-03-02 16:54, Yaakov Selkowitz <yselkowitz@xxxxxxxxxx> wrote:

This looks like a snippet of an autoconf AC_CHECK_LIB (or
AC_CHECK_FUNCTION) test. Such tests don't work with 32-bit Win32 APIs
-- on either Cygwin or MinGW -- because they don't take stdcall into
account. You'll need to modify the test to work around that.

Also, if you're using Cygwin, do you *really* want to be using Win32
OpenGL and not X11?

Yes, you're right. It's autoconf test and it perfectly passed at 64-bit MinGW
and 64-bit Cygwin, but not on 32-bit Cygwin.

It would fail on 32-bit MinGW too.

And I don't understand why you're say that it is related to stdcall, while
wglCreateContext exposed directly without any @0 @4 etc.

No, it's not, check the implib yourself. You have to use a proper declaration to link stdcall functions, and the autoconf tests don't do that. You need to change the test to avoid this; exactly how depends on the intent of the test.

Yes, I need to use Win32.
         ^^^^
I want to port application that heavily POSIX-dependent, but also want to save
                                                                    ^^^^
performance as much as possible.

Big difference.

I think if w32api-runtime package is provided it supposed to work.

Maybe, maybe not.  Mixing *NIX and Win32 APIs isn't so simple.

--
Yaakov

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple