Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: Getting Cpw to install...

  1. #1
    Junior Member Newbie
    Join Date
    Feb 2002
    Location
    New York, NY, USA
    Posts
    6

    Getting Cpw to install...

    Hi. I'm trying to get started using Cpw. I've got a cygwin environment for compiling but I've also got mingw available on my Windows computer. I've downloaded version 1.0 of Cpw. Do I just copy the libraries in the cpw/library/output/win32 directories some place and the "cpw.h" file in another and begin including, compiling and linking or do I actually have to compile Cpw on my computer before using it. If so, is there a quick and easy way to compile, ie. by changing to some directory and invoking some compile command? Any help would be greatly appreciated. Thank you.

  2. #2
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    133

    Re: Getting Cpw to install...

    I put together a "makeshift" make file for cygwin but it's not complete. It's in the cygwin platform folder. I do not know make files very well so it will need an update to get it compiling right. If anybody does this please send me an update so I can put it in the core distro.

    As far as compiling an app - take a look at the template in sample code folder. It has a description of what you need to compile with and link too the Cpw library. (Basically, the includes folder, the lib, and cpw.h.)

    Regards,
    Jim
    --
    Jim Mathies http://www.mathies.com/

    \"The best way to predict the future is to invent it."

  3. #3
    Junior Member Newbie
    Join Date
    Feb 2002
    Location
    New York, NY, USA
    Posts
    6

    Re: Getting Cpw to install...

    Dear Jim:

    I looked at your make file and updated it as follows:
    ------------------------------------CygWin Makefile--------------------------------------
    #
    # You need to SET 'CygWin' as an env. var or this will spew puke.
    #
    #

    VPATH = ../../src/include:../../src/win32/:/d/freetype-2.0.6/include
    INCLUDEFLAGS = -I../../src/include -I../../includes/win32 -I/usr/include/mingw -I/d/freetype-2.0.6/include

    SRCS = ../../src/cpw_callbacks.c \
    ../../src/cpw_error.c \
    ../../src/cpw_event.c \
    ../../src/cpw_get.c \
    ../../src/cpw_glextensions.c \
    ../../src/cpw_init.c \
    ../../src/cpw_joystick.c \
    ../../src/cpw_keymouse.c \
    ../../src/cpw_main.c \
    ../../src/cpw_menus.c \
    ../../src/cpw_perftracker.c \
    ../../src/cpw_primitives.c \
    ../../src/cpw_state.c \
    ../../src/cpw_timers.c \
    ../../src/cpw_videosettings.c \
    ../../src/win32/cpw_win32.c \
    ../../src/cpw_window.c \
    ../../src/cpw_windowlist.c \
    ../../src/cpw_opensl.c \
    # ../../src/cpw_font.c \

    HDRS = cpw_callbacks.h \
    cpw_config.h \
    cpw_error.h \
    cpw_event.h \
    cpw_get.h \
    cpw_glextensions.h \
    cpw_init.h \
    cpw_joystick.h \
    cpw_keymouse.h \
    cpw_linkedlist.h \
    cpw_linkedelement.h \
    cpw_macros.h \
    cpw_main.h \
    cpw_menus.h \
    cpw_perftracker.h \
    cpw_primdata.h \
    cpw_primitives.h \
    cpw_state.h \
    cpw_str.h \
    cpw_timers.h \
    cpw_videosettings.h \
    cpw_win32.h \
    cpw_window.h \
    cpw_windowlist.h \
    cpw_opensl.h \
    # cpw_font.h \


    cpwlib : $(SRCS) $(HDRS)
    gcc -mno-cygwin -DCPW_INTERN -DCygWin -UWIN32 $(INCLUDEFLAGS) -c $(SRCS)

    cpwlib.a : $(SRCS) $(XTRAHDRS)
    ar rvu cpwlib.a $(OBJS)
    ranlib cpwlib.a

    clean :
    rm *.o
    ------------------------------------------------------------------------------------------------

    I can now make your library and make significant progress (many .o files
    are made). However I do get the following error. Something to do with an ENUM_CURRENT_SETTINGS constant (the last error of the following output). Would anyone have any idea why I get this error? Thanks in advanced.

    -Jose

    -------------------------------Compiler error output------------------------------------
    [jose@JOSEALBU /d/Cpw/library/projectfiles/cygwin]$ make
    gcc -mno-cygwin -DCPW_INTERN -DCygWin -UWIN32 -I../../src/include -I../../includes/win32 -I/usr/include/mingw -I/d/freetype-2.0.6/include -c ../../src/cpw_callbacks.c ../../src/cpw_error.c ../../src/cpw_event.c ../../src/cpw_get.c ../../src/cpw_glextensions.c ../../src/cpw_init.c ../../src/cpw_joystick.c ../../src/cpw_keymouse.c ../../src/cpw_main.c ../../src/cpw_menus.c ../../src/cpw_perftracker.c ../../src/cpw_primitives.c ../../src/cpw_state.c ../../src/cpw_timers.c ../../src/cpw_videosettings.c ../../src/win32/cpw_win32.c ../../src/cpw_window.c ../../src/cpw_windowlist.c ../../src/cpw_opensl.c
    ../../src/cpw_timers.c:125: warning: `cpw_timers_iteratestart' declared inline after being called
    ../../src/cpw_timers.c:134: warning: `cpw_timers_iteratenext' declared inline after being called
    ./../src/win32/cpw_win32.c: In function `cpw_localhost_listvideomodes':
    ../../src/win32/cpw_win32.c:1811: `ENUM_CURRENT_SETTINGS' undeclared (first use in this function)
    ../../src/win32/cpw_win32.c:1811: (Each undeclared identifier is reported only once
    ../../src/win32/cpw_win32.c:1811: for each function it appears in.)
    make: *** [cpwlib] Error 1
    [jose@JOSEALBU /d/Cpw/library/projectfiles/cygwin]$
    ------------------------------------------------------------------------------------------------

    Originally posted by jmathies:
    I put together a "makeshift" make file for cygwin but it's not complete. It's in the cygwin platform folder. I do not know make files very well so it will need an update to get it compiling right. If anybody does this please send me an update so I can put it in the core distro.

    As far as compiling an app - take a look at the template in sample code folder. It has a description of what you need to compile with and link too the Cpw library. (Basically, the includes folder, the lib, and cpw.h.)

    Regards,
    Jim

  4. #4
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    133

    Re: Getting Cpw to install...

    Ok, a couple of comments:

    1) uncomment the
    # ../../src/cpw_font.c \
    and
    # cpw_font.h \

    so the freetype interface compiles in. When I wrote that makefile I didn't have freetype setup in my cygwin environment.


    The two warnings about inlined functions can be ignored, i'll take a look at this and clean it up in the next release.

    ENUM_CURRENT_SETTINGS is a windows constant used in iterating video modes in the
    EnumDisplaySettings call. I'm not sure what include you need in cygwin to get this. The
    MSVC docs say it is defined in winuser.h and is part of the user32.lib. Looks like you
    might need to upgrade your cygwin winuser.h - I found this on google:

    http://www.mail-archive.com/cygwin-p.../msg00219.html

    Hope this helps you get it running! Thanks for makefile update. Let me know how it goes.

    Regards,
    Jim



    [This message has been edited by jmathies (edited 02-22-2002).]
    --
    Jim Mathies http://www.mathies.com/

    \"The best way to predict the future is to invent it."

  5. #5
    Junior Member Newbie
    Join Date
    Feb 2002
    Location
    New York, NY, USA
    Posts
    6

    Re: Getting Cpw to install...

    Dear Jim:

    Thanks for your pointers. Your library actually compiles and I get a static library with cygwin. At first I kept getting multiple redefinition of certain functions errors when I tried to link to the library. I tried compiling the following simple program called "test.c":

    ------------------------------------------------test.c----------------------------------------------------
    #include <stdio.h>

    #define CPW_EXTERN
    #include <cpw.h>

    void draw( pCpw cpw, int winid )
    {
    /* nothing yet! */
    }

    int main(int argc, char *argv[])
    {
    pCpw cpw;

    cpw = null;
    cpwInitContext( &cpw );

    cpwCreateWindow( cpw, "Cpw" );
    cpwDisplayCallback( cpw, draw );

    cpwMainLoop( cpw );
    cpwFreeContext( &cpw );
    return 0;
    }
    -----------------------------------------------------------------------------------------------------------

    and got the following linking errors:

    -----------------------------------------------output----------------------------------------------------
    [jose@JOSEALBU /d/Cpw]$ cc -DCygWin -UWIN32 test.c 2>&1 -lcpw | more
    test.c: In function `main':
    test.c:19: warning: passing arg 2 of `cpwDisplayCallback' from incompatible pointer type
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x1598):cpw_state.c: multiple definition of `le_createElement'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x1598):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x15d0):cpw_state.c: multiple definition of `le_initStr'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x15d0):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x1634):cpw_state.c: multiple definition of `le_initString'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x1634):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x1698):cpw_state.c: multiple definition of `le_initFloat64'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x1698):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x16ec):cpw_state.c: multiple definition of `le_initInt32'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x16ec):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x1748):cpw_state.c: multiple definition of `le_initVoid'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x1748):test.c: first defined here
    /usr/lib/mingw/libcpw.a(cpw_state.o)(.text+0x179c):cpw_state.c: multiple definition of `le_freeElement'
    /c/WINDOWS/TEMP/ccgpbttf.o(.text+0x179c):test.c: first defined here
    [jose@JOSEALBU/d/Cpw]$
    -----------------------------------------------------------------------------------------------------------

    I figured out that the multiple includes of the cpw_linkedelement.h and cpw_linkedlist.h files in other files were causing the problem. I neatly separated the implementation in these files from the definition to separate .c files and now the those multiple definitions disappeared. Now I only get the following errors:

    ----------------------------------undefined link symbols----------------------------------------------
    [jose@JOSEALBU /d/Cpw]$ cc -DCygWin -UWIN32 *.c -lcpw -lfreetype -lopengl32 -lglu32 -lglaux 2>&1
    test.c: In function `main':
    test.c:19: warning: passing arg 2 of `cpwDisplayCallback' from incompatible pointer type
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1936):cpw_win32.c: undefined reference to `SetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x194b):cpw_win32.c: undefined reference to `SetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1a56):cpw_win32.c: undefined reference to `SetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1a6b):cpw_win32.c: undefined reference to `SetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x27d7):cpw_win32.c: undefined reference to `ChoosePixelFormat@8'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x285b):cpw_win32.c: undefined reference to `SetPixelFormat@12'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x2993):cpw_win32.c: undefined reference to `SwapBuffers@4'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x2bc8):cpw_win32.c: undefined reference to `GetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x2c0e):cpw_win32.c: undefined reference to `GetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x474b):cpw_win32.c: undefined reference to `joyGetNumDevs@0'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x47a3):cpw_win32.c: undefined reference to `joyGetDevCapsA@12'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x47d6):cpw_win32.c: undefined reference to `joyGetDevCapsA@12'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x4995):cpw_win32.c: undefined reference to `joyGetPosEx@8'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x49c6):cpw_win32.c: undefined reference to `joyGetPosEx@8'
    collect2: ld returned 1 exit status
    [jose@JOSEALBU /d/Cpw]$
    -----------------------------------------------------------------------------------------------------------

    I figure it is some sort of missing windows library, but I'm not sure. At any rate, I'm just happy that I can actually get a static library and sooner or later I'll find why these undefined reference exist. In the mean time, I'll just use dll linking! Also, I've made a nice update to the makefile included below in case you think you might use it. Thanks for your nice library! Take care.

    -Jose
    ------------------------------------------------Makefile-------------------------------------------------
    SRC = ../../src
    INCLUDE = $(SRC)/include
    FREETYPE = /d/freetype-2.0.6

    VPATH = $(SRC):$(INCLUDE):$(SRC)/win32:$(FREETYPE)/include

    OBJS = cpw_callbacks.o \
    cpw_error.o \
    cpw_event.o \
    cpw_font.o \
    cpw_get.o \
    cpw_glextensions.o \
    cpw_images.o \
    cpw_init.o \
    cpw_joystick.o \
    cpw_keymouse.o \
    cpw_libtarga.o \
    cpw_linkedelement.o \
    cpw_linkedlist.o \
    cpw_main.o \
    cpw_menus.o \
    cpw_opensl.o \
    cpw_perftracker.o \
    cpw_primitives.o \
    cpw_state.o \
    cpw_timers.o \
    cpw_videosettings.o \
    cpw_win32.o \
    cpw_window.o \
    cpw_windowlist.o

    CC = gcc
    CFLAGS = -mno-cygwin -DCPW_INTERN -DCygWin -UWIN32 -I$(INCLUDE) \
    -I$(SRC)/win32 -I$(FREETYPE)/include

    libcpw.a: $(OBJS)
    ar rvu libcpw.a $(OBJS)
    ranlib libcpw.a

    cpw_callbacks.o: cpw_callbacks.h cpw_window.h
    cpw_error.o: cpw_error.h
    cpw_event.o: cpw_event.h cpw_error.h cpw_windowlist.h cpw_win32.h
    cpw_font.o: cpw_font.h cpw_error.h cpw_win32.h
    cpw_get.o: cpw_event.h cpw_error.h cpw_windowlist.h
    cpw_glextensions.o: cpw_glextensions.h cpw_windowlist.h cpw_error.h
    cpw_images.o: cpw_images.h cpw_error.h cpw_libtarga.h cpw_window.h
    cpw_init.o: cpw_init.h cpw_error.h
    cpw_joystick.o: cpw_joystick.h cpw_error.h cpw_timers.h cpw_win32.h
    cpw_keymouse.o: cpw_keymouse.h cpw_error.h cpw_win32.h
    cpw_libtarga.o: cpw_libtarga.h
    cpw_linkedelement.o: cpw_linkedelement.h
    cpw_linkedlist.o: cpw_linkedlist.h
    cpw_main.o: cpw_main.h cpw_event.h cpw_error.h cpw_timers.h cpw_win32.h
    cpw_menus.o: cpw_menus.h cpw_error.h cpw_windowlist.h cpw_win32.h
    cpw_opensl.o: cpw_opensl.h
    cpw_perftracker.o: cpw_perftracker.h cpw_error.h cpw_win32.h
    cpw_primitives.o: cpw_primitives.h cpw_primdata.h cpw_error.h
    cpw_state.o: cpw_state.h cpw_event.h cpw_init.h cpw_window.h cpw_windowlist.h \
    cpw_menus.h cpw_timers.h cpw_joystick.h cpw_videosettings.h \
    cpw_primitives.h cpw_glextensions.h cpw_perftracker.h cpw_font.h \
    cpw_win32.h
    cpw_timers.o: cpw_timers.h cpw_error.h cpw_linkedlist.h cpw_joystick.h \
    cpw_win32.h
    cpw_videosettings.o: cpw_videosettings.h cpw_window.h cpw_error.h cpw_win32.h
    cpw_win32.o: cpw_win32.h cpw_event.h cpw_error.h cpw_init.h cpw_main.h \
    cpw_windowlist.h cpw_joystick.h
    cpw_window.o: cpw_window.h cpw_windowlist.h cpw_event.h cpw_main.h \
    cpw_error.h cpw_win32.h
    cpw_windowlist.o: cpw_windowlist.h

    clean:
    rm -f *.o libcpw.a
    -----------------------------------------------------------------------------------------------------------

  6. #6
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    133

    Re: Getting Cpw to install...

    Dude, you rock. thanks for the makefile update.

    A couple comments:

    On the linked list issues - those functions are inlined, I wonder if this is what's
    causing the problem? Maybe if they were simply statically defined it wouldn't be an issue?

    In any case, I'll seperate those out just like you did for the next release i'll up
    and include the new makefile in the release as well. By the way, did you have to make
    any changes to the cpw_config.h for cygwin?

    On those unresolved externals:

    reference to `SetClassLongPtr'
    reference to `SetWindowLongPtr'
    reference to `SetClassLongPtr'
    reference to `SetWindowLongPtr'
    reference to `GetClassLongPtr'
    reference to `GetWindowLongPtr'

    Standard windows calls for adding / extracting application specific data into a
    window class or window context. Maybe an update of your winuser.h for cygwin would
    fix it? Searching google i see patches listed for some of these.

    reference to `ChoosePixelFormat@8'
    reference to `SetPixelFormat@12'
    reference to `SwapBuffers@4'

    OpenGL GDI calls. These should be in there someplace.

    reference to `joyGetNumDevs@0'
    reference to `joyGetDevCapsA@12'
    reference to `joyGetDevCapsA@12'
    reference to `joyGetPosEx@8'
    reference to `joyGetPosEx@8'

    Winbase joystick state polling.

    Hope this helps.. If you want to discuss feel free to mail me directly - my emails on
    my site - http://www.mathies.com/

    Regards,
    Jim


    [This message has been edited by jmathies (edited 02-25-2002).]
    --
    Jim Mathies http://www.mathies.com/

    \"The best way to predict the future is to invent it."

  7. #7
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    133

    Re: Getting Cpw to install...

    Something else you'll need to do:

    in cpw_config.h, there are some types defined for CygWin. The uint_8 isn't defined right, and that will cause some problems.

    Here's an update:

    #define pVoid void*
    #define pChar char*
    #define uint_8 unsigned char
    #define uint_16 unsigned short
    #define uint_32 unsigned int
    #define int_16 int
    #define int_32 int
    #define int_64 int
    #define float_32 float
    #define float_64 double
    #define long_32 long

    Regards,
    Jim
    --
    Jim Mathies http://www.mathies.com/

    \"The best way to predict the future is to invent it."

  8. #8
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    247

    Re: Getting Cpw to install...

    jaalburquerque,
    Those undefined reference errors are not a header file problem, they're a linking problem. The joystick functions are contained in libwinmm.a and ChoosePixelFormat is in libgdi32.a (I think). When compiling a CPW program with GCC you need to add -lwinmm and -lgdi32 and several other libraries _after_ -lcpw (not before).

    Jim,
    The linked-list inline functions in the header files are a real problem for GCC. Apparently, declaring things inline in GCC does not garauntee that they will actually be inline (and sometimes they are both). To make the code more portable, I would suggest zapping all those inlines and just using regular functions. I don't think it would have a noticable effect on performance.

    P.S. I think CPW is great. Keep up the good work.

  9. #9
    Junior Member Regular Contributor
    Join Date
    Feb 2002
    Posts
    133

    Re: Getting Cpw to install...

    Hey Aaron, thanks for the reply.

    With Jose's help we found a solution. He seperated the linked list and element
    into two files, which allowed us to keep the inlining that worked both with gcc and msdev.
    (the functions now have a "extern CPW_INLINE" in front of them in the .h's.)

    The latest downloadable source on the cpw web site contains the
    changes and Jose's Cygwin makefile.

    I was able to compile cleanly both with Cygwin and msdev. Very cool to see.
    The Cygwin lib still needs to be tested, but it's nice to see it compiling in that env.

    Regards,
    Jim


    [This message has been edited by jmathies (edited 02-27-2002).]
    --
    Jim Mathies http://www.mathies.com/

    \"The best way to predict the future is to invent it."

  10. #10
    Junior Member Newbie
    Join Date
    Feb 2002
    Location
    New York, NY, USA
    Posts
    6

    Re: Getting Cpw to install...

    Aaron:

    You're right about the undefined references being a linking problem. The two libraries you mentioned (namely winmm and gdi32) made some of the references like the joystick reference disappear. I did some searching and I found that the GetWindowLongPtr, GetClassLongPtr should somehow be part of the "winuser.h" file (and consequently the user32 library in /lib/mingw I guess). Here's what's in winuser.h right now:

    ------------------------------------------winuser.h----------------------------------------------
    winuser.h WORD WINAPI GetClassLongA(HWND,int);
    winuser.h WORD WINAPI GetClassLongW(HWND,int);
    winuser.h WORD WINAPI SetClassLongA(HWND,int,LONG);
    winuser.h WORD WINAPI SetClassLongW(HWND,int,LONG);
    winuser.h:#define GetClassLong GetClassLongW
    winuser.h:#define SetClassLong SetClassLongW
    winuser.h:#define GetClassLong GetClassLongA
    winuser.h:#define SetClassLong SetClassLongA
    winuser.h:LONG WINAPI GetWindowLongA(HWND,int);
    winuser.h:LONG WINAPI GetWindowLongW(HWND,int);
    winuser.h:LONG WINAPI SetWindowLongA(HWND,int,LONG);
    winuser.h:LONG WINAPI SetWindowLongW(HWND,int,LONG);
    winuser.h:#define GetWindowLong GetWindowLongW
    winuser.h:#define SetWindowLong SetWindowLongW
    winuser.h:#define GetWindowLong GetWindowLongA
    winuser.h:#define SetWindowLong SetWindowLongA
    ------------------------------------------------------------------------------------------------------

    The funny thing is that my linking is also producing errors that reffer to _impure_ptr and __srget which I found to be referenced in <stdio.h>:

    -------------------------------------------stdio.h--------------------------------------------------
    stdio.h:#define stdin (_impure_ptr->_stdin)
    stdio.h:#define stdout (_impure_ptr->_stdout)
    stdio.h:#define stderr (_impure_ptr->_stderr)
    stdio.h:int _EXFUN(__srget, (FILE *));
    --------------------------------------------------------------------------------------------------------

    Perhaps the inlining is causing "stdin" or "stdout" to appear literrally as the actual definition in <stdio.h>. Here's my linking output:

    ---------------------------------------------output--------------------------------------------------
    [jose@JOSEALBU /d/Cpw]$ cc -DCygWin -UWIN32 *.c -lcpw -lfreetype -lopengl32 -lglu32 -lwinmm -lgdi32 2>&1 | more
    test.c: In function `main':
    test.c:19: warning: passing arg 2 of `cpwDisplayCallback' from incompatible poin
    ter type
    /usr/lib/mingw/libcpw.a(cpw_init.o)(.text+0x15b0):cpw_init.c: undefined referenc
    e to `_impure_ptr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1986):cpw_win32.c: undefined refere
    nce to `SetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x199b):cpw_win32.c: undefined refere
    nce to `SetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1aba):cpw_win32.c: undefined refere
    nce to `SetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x1acf):cpw_win32.c: undefined refere
    nce to `SetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x2e38):cpw_win32.c: undefined refere
    nce to `GetClassLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_win32.o)(.text+0x2e7e):cpw_win32.c: undefined refere
    nce to `GetWindowLongPtr'
    /usr/lib/mingw/libcpw.a(cpw_perftracker.o)(.text+0x19a1):cpw_perf tracker.c: unde
    fined reference to `_impure_ptr'
    /usr/lib/mingw/libcpw.a(cpw_perftracker.o)(.text+0x19b5):cpw_perf tracker.c: unde
    fined reference to `_impure_ptr'
    /usr/lib/mingw/libcpw.a(cpw_perftracker.o)(.text+0x19be):cpw_perf tracker.c: unde
    fined reference to `__srget'
    /usr/lib/mingw/libcpw.a(cpw_perftracker.o)(.text+0x19c9):cpw_perf tracker.c: unde
    fined reference to `_impure_ptr'
    collect2: ld returned 1 exit status
    [jose@JOSEALBU /d/Cpw]$
    --------------------------------------------------------------------------------------------------------

    Over all, if we manage to address the {Get,Set}{Window,Class}LongPtr references (by maybe appropriately defining them in "winuser.h") and somehow making those _impure_ptr and __srget undefined references to disappear, we will most probably have a static library up and ready for linking and testing for cygwin environment.

    Thanks for the pointers!

    -Jose

    [This message has been edited by jaalburquerque (edited 02-27-2002).]

    [This message has been edited by jaalburquerque (edited 02-27-2002).]

    [This message has been edited by jaalburquerque (edited 02-27-2002).]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •