[CMake] CMake Tutorial and Error: undefined symbols

David Morris dvmorris at gmail.com
Sat Jan 27 13:01:30 EST 2007


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 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})

---

thanks for the help,
dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20070127/7eeb026e/attachment.html


More information about the CMake mailing list