[CMake] CMake Tutorial and Error: undefined symbols

David Morris dvmorris at gmail.com
Sat Jan 27 15:29:46 EST 2007


how do i do that? i know that sounds really ignorant, but, i guess I am a
little bit with cmake.
dave

On 1/27/07, Bill Hoffman <bill.hoffman at kitware.com> wrote:
>
> David Morris wrote:
> > I'm new to cmake, and I have been trying to find a good comprehensive
> > tutorial to get myself started, but have had no luck. Does anyone know
> > a good one besides the cmake.org <http://cmake.org> site and the
> > linuxjournal one?
> >
> > I will try to describe one problem i'm having, but I'm not really sure
> > where to begin. I'm trying to compile a C++ project and I get this
> error:
> >
> > /usr/bin/ld: Undefined symbols:
> > _glBegin
> > _glBindTexture
> > _glColor3d
> > _glColor3f
> > _glCullFace
> > ...
> > ...
> >
> > and so on...
> >
> > I read somewhere this might have to do with cmake trying to compile
> > C++ code using gcc instead of g++, and that you can override this
> > setting in the CMakeCache file, but this is the line in the
> > CMakeCache.txt file:
> >
> > CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
> >
> > I tried changing it to g++, but it didn't seem to do anything. I don't
> > think this has much to do with the actual code of the project, so I
> > didn't bother explaining anything about it here. Any help would be
> > greatly appreciated. I'm thinking it's a really simple error, but who
> > knows. Here is the text of my main CMakeLists.txt file:
> >
> > ---
> >
> > #Change PROJECT_NAME to the name of your project
> > PROJECT(TopMod)
> > #include some macros from another file...
> > INCLUDE(${TopMod_SOURCE_DIR}/CMakeMacros.txt)
> > #Declare any external dependencies that your project may have here.
> > #examples include: ITK, VTK, JPEG, PNG, OpenGL, ZLIB, Perl, Java
> > #If you're not sure what name to use, look in the Modules directory of
> > your
> > #cmake install and check that a file named Find(Package).cmake exists
> > SET(Required_Packages
> > FLTK JPEG PNG OpenGL ZLIB GLUT
> > )
> > FOREACH(Package ${Required_Packages})
> >   LOADPACKAGE(${Package})
> > ENDFOREACH(Package)
> >
> > #run through these sub directories to build these two libraries
> > SUBDIRS(vecmat)
> > SUBDIRS(arcball)
> >
> > INCLUDE_DIRECTORIES(${TopMod_SOURCE_DIR}/arcball
> > ${TopMod_SOURCE_DIR}/vecmat ${TopMod_SOURCE_DIR}/include /opt/local/lib)
> > LINK_DIRECTORIES(${TopMod_BINARY_DIR}/arcball
> > ${TopMod_BINARY_DIR}/vecmat ${TopMod_BINARY_DIR}/include /opt/local/lib)
> >
> > SET(Libraries fltk_images fltk_gl fltk arcball vecmat)
> >
> > SET(CurrentExe "TopMod")
> > FILE(GLOB SRC *.cc)
> > ADD_EXECUTABLE(${CurrentExe} ${SRC})
> > TARGET_LINK_LIBRARIES(${CurrentExe} ${Libraries})
> You need to link in the opengl library.
>
> -Bill
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20070127/4eddcd9b/attachment.htm


More information about the CMake mailing list