Menu

Linking to library - what am I doing wrong?

rtrahms
2009-01-27
2012-09-26
  • rtrahms

    rtrahms - 2009-01-27

    Just installed Dev-C++, created a simple project test w/o linking to an external lib. Works fine.
    Created second project, with directories specified for the external lib, added the lib itself into the build.
    Linker errors - undefined references to those symbols in the lib I am trying to link. What am I doing wrong? Probably something simple. Thanks!
    p.s. this is not a static lib - maybe that has something to do with it.

    Rob

    Here is the makefile.win:

    Project: RobGlutTest1

    Makefile created by Dev-C++ 4.9.9.2

    CPP = g++.exe
    CC = gcc.exe
    WINDRES = windres.exe
    RES =
    OBJ = glut1.o $(RES)
    LINKOBJ = glut1.o $(RES)
    LIBS = -L"C:/Dev-Cpp/lib" -L"C:/DATA/Developer/glut376" -mwindows ../glut376/glut32.lib
    INCS = -I"C:/Dev-Cpp/include" -I"C:/DATA/Developer/glut376"
    CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/DATA/Developer/glut376"
    BIN = RobGlutTest1.exe
    CXXFLAGS = $(CXXINCS)
    CFLAGS = $(INCS)
    RM = rm -f

    .PHONY: all all-before all-after clean clean-custom

    all: all-before RobGlutTest1.exe all-after

    clean: clean-custom
    ${RM} $(OBJ) $(BIN)

    $(BIN): $(OBJ)
    $(CC) $(LINKOBJ) -o "RobGlutTest1.exe" $(LIBS)

    glut1.o: glut1.c
    $(CC) -c glut1.c -o glut1.o $(CFLAGS)

     
    • cpns

      cpns - 2009-01-28

      Where did you get ../glut376/glut32.lib from? Did you build it yourself? If it is not a GNU library built specifically for MinGW, it will not work. The convention for GNU libraries os to have a .a extension, which is why I am suspicious.

      There is some guidance in the " PLEASE READ BEFORE POSTING A QUESTION" thread on using OpenGL and GLUT with Dev-C++.

       
    • cpns

      cpns - 2009-01-27

      Post the build log.

       
    • rtrahms

      rtrahms - 2009-01-28

      Compiler: Default compiler
      Building Makefile: "C:\DATA\Developer\GLUT_Projects\Makefile.win"
      Executing make...
      make.exe -f "C:\DATA\Developer\GLUT_Projects\Makefile.win" all
      gcc.exe glut1.o -o "RobGlutTest1.exe" -L"C:/Dev-Cpp/lib" -L"C:/DATA/Developer/glut376" -mwindows ../glut376/glut32.lib

      glut1.o(.text+0x1c):glut1.c: undefined reference to __glutInitWithExit' glut1.o(.text+0x37):glut1.c: undefined reference toglutCreateWindowWithExit'
      glut1.o(.text+0x52):glut1.c: undefined reference to `
      glutCreateMenuWithExit'

      glut1.o(.text+0x605):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x613):glut1.c: undefined reference to_impglBegin'
      glut1.o(.text+0x636):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x659):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x67c):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x69f):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x6a6):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0x6c7):glut1.c: undefined reference to_imp
      glNormal3f'

      glut1.o(.text+0x6d5):glut1.c: undefined reference to _imp__glBegin' glut1.o(.text+0x6f8):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x71b):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x73e):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x761):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x768):glut1.c: undefined reference to_impglEnd'
      glut1.o(.text+0x785):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x793):glut1.c: undefined reference to_imp
      glBegin'
      glut1.o(.text+0x7b6):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x7d9):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x7fc):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x81f):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x826):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0x892):glut1.c: undefined reference to_impglNormal3f'
      glut1.o(.text+0x8a0):glut1.c: undefined reference to _imp__glBegin' glut1.o(.text+0x8c3):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x8e6):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x909):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x92c):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x933):glut1.c: undefined reference to_imp
      glEnd'
      glut1.o(.text+0x950):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x95e):glut1.c: undefined reference to_impglBegin'
      glut1.o(.text+0x981):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x9a4):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x9c7):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x9ea):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x9f1):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0xa66):glut1.c: undefined reference to_imp
      glNormal3f'
      glut1.o(.text+0xa74):glut1.c: undefined reference to _imp__glBegin' glut1.o(.text+0xa97):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0xaba):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xadd):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0xb00):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xb07):glut1.c: undefined reference to_impglEnd'
      glut1.o(.text+0xb24):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0xb32):glut1.c: undefined reference to_imp
      glBegin'
      glut1.o(.text+0xb55):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xb78):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0xb9b):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xbbe):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0xbc5):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0xc73):glut1.c: undefined reference to_impglNormal3f'
      glut1.o(.text+0xc96):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0xcb9):glut1.c: undefined reference to_imp
      glBegin'
      glut1.o(.text+0xcd8):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xcf5):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0xd68):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xd8c):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0xd93):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0xda6):glut1.c: undefined reference to_impglBegin'
      glut1.o(.text+0xdc3):glut1.c: undefined reference to `_imp
      glVertex3f'

      glut1.o(.text+0xde0):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xe57):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0xeb8):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0xedf):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0xefc):glut1.c: more undefined references to _imp__glVertex3f' follow glut1.o(.text+0xf03):glut1.c: undefined reference to_impglEnd'
      glut1.o(.text+0xfa8):glut1.c: undefined reference to _imp__glBegin' glut1.o(.text+0xfc9):glut1.c: undefined reference to_imp
      glNormal3f'
      glut1.o(.text+0xfe6):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x1003):glut1.c: undefined reference to_imp__glVertex3f'

      glut1.o(.text+0x107c):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x109d):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x10be):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x10e9):glut1.c: undefined reference to_imp
      glNormal3f'
      glut1.o(.text+0x1106):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x1123):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x112a):glut1.c: undefined reference to _imp__glEnd' glut1.o(.text+0x11c7):glut1.c: undefined reference to_imp
      glBegin'
      glut1.o(.text+0x11e8):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x1205):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x1222):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x1291):glut1.c: undefined reference to_imp
      glNormal3f'

      glut1.o(.text+0x12b2):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x12d3):glut1.c: undefined reference to_impglVertex3f'
      glut1.o(.text+0x12fe):glut1.c: undefined reference to _imp__glNormal3f' glut1.o(.text+0x131b):glut1.c: undefined reference to_imp
      glVertex3f'
      glut1.o(.text+0x1338):glut1.c: undefined reference to _imp__glVertex3f' glut1.o(.text+0x133f):glut1.c: undefined reference to_impglEnd'
      glut1.o(.text+0x135f):glut1.c: undefined reference to _imp__glClear' glut1.o(.text+0x1366):glut1.c: undefined reference to_imp
      glPushMatrix'
      glut1.o(.text+0x1387):glut1.c: undefined reference to _imp__glTranslatef' glut1.o(.text+0x13b1):glut1.c: undefined reference to_impglRotatef'
      glut1.o(.text+0x13db):glut1.c: undefined reference to _imp__glRotatef' glut1.o(.text+0x13fc):glut1.c: undefined reference to_imp
      glTranslatef'
      glut1.o(.text+0x144c):glut1.c: undefined reference to _imp__glPopMatrix' glut1.o(.text+0x1453):glut1.c: undefined reference to_impglPushMatrix'
      glut1.o(.text+0x1474):glut1.c: undefined reference to _imp__glTranslatef' glut1.o(.text+0x149e):glut1.c: undefined reference to_imp
      glRotatef'

      glut1.o(.text+0x14c8):glut1.c: undefined reference to _imp__glRotatef' glut1.o(.text+0x14e9):glut1.c: undefined reference to_impglTranslatef'
      glut1.o(.text+0x1539):glut1.c: undefined reference to `_imp
      glPopMatrix'

      glut1.o(.text+0x16c8):glut1.c: undefined reference to glutSwapBuffers' glut1.o(.text+0x16dc):glut1.c: undefined reference to_imp__glClear'

      glut1.o(.text+0x1708):glut1.c: undefined reference to _imp__glViewport' glut1.o(.text+0x1716):glut1.c: undefined reference to_impglMatrixMode'
      glut1.o(.text+0x171d):glut1.c: undefined reference to _imp__glLoadIdentity' glut1.o(.text+0x1757):glut1.c: undefined reference to_imp
      glFrustum'
      glut1.o(.text+0x1765):glut1.c: undefined reference to _imp__glMatrixMode' glut1.o(.text+0x176c):glut1.c: undefined reference to_impglLoadIdentity'
      glut1.o(.text+0x177a):glut1.c: undefined reference to _imp__glClear' glut1.o(.text+0x1796):glut1.c: undefined reference toglutIdleFunc'
      glut1.o(.text+0x17a4):glut1.c: undefined reference to glutIdleFunc' glut1.o(.text+0x17d4):glut1.c: undefined reference to_imp
      glClearColor'
      glut1.o(.text+0x17f6):glut1.c: undefined reference to _imp__glEnable' glut1.o(.text+0x1804):glut1.c: undefined reference to_impglClear'
      glut1.o(.text+0x1812):glut1.c: undefined reference to _imp__glEnable' glut1.o(.text+0x1831):glut1.c: undefined reference to_imp
      glLightf'
      glut1.o(.text+0x186e):glut1.c: undefined reference to _imp__glLightfv' glut1.o(.text+0x18ab):glut1.c: undefined reference to_impglLightfv'
      glut1.o(.text+0x18c8):glut1.c: undefined reference to `_imp
      glLightfv'

      glut1.o(.text+0x18d6):glut1.c: undefined reference to _imp__glEnable' glut1.o(.text+0x18f5):glut1.c: undefined reference to_imp__glLightf'

      glut1.o(.text+0x1932):glut1.c: undefined reference to _imp__glLightfv' glut1.o(.text+0x196f):glut1.c: undefined reference to_impglLightfv'
      glut1.o(.text+0x198c):glut1.c: undefined reference to _imp__glLightfv' glut1.o(.text+0x199a):glut1.c: undefined reference to_imp
      glEnable'
      glut1.o(.text+0x19d7):glut1.c: undefined reference to _imp__glMaterialfv' glut1.o(.text+0x1a14):glut1.c: undefined reference to_impglMaterialfv'
      glut1.o(.text+0x1a51):glut1.c: undefined reference to _imp__glMaterialfv' glut1.o(.text+0x1a70):glut1.c: undefined reference to_imp
      glMaterialf'
      glut1.o(.text+0x1af2):glut1.c: undefined reference to glutInitDisplayMode' glut1.o(.text+0x1b06):glut1.c: undefined reference toglutInitWindowPosition'
      glut1.o(.text+0x1b1a):glut1.c: undefined reference to glutInitWindowSize' glut1.o(.text+0x1b38):glut1.c: undefined reference toglutReshapeFunc'
      glut1.o(.text+0x1b44):glut1.c: undefined reference to glutDisplayFunc' glut1.o(.text+0x1b50):glut1.c: undefined reference toglutKeyboardFunc'
      glut1.o(.text+0x1b5c):glut1.c: undefined reference to glutVisibilityFunc' glut1.o(.text+0x1b61):glut1.c: undefined reference toglutPostRedisplay'
      glut1.o(.text+0x1b6d):glut1.c: undefined reference to _imp__glClear' glut1.o(.text+0x1b74):glut1.c: undefined reference toglutMainLoop'
      collect2: ld returned 1 exit status

      make.exe: *** [RobGlutTest1.exe] Error 1

      Execution terminated

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.