我目前是一名学生,我的一个模块的课程是关于图形编程的。我们已经为它提供了框架,并且每周学习一个新概念并实施它。
在实验室计算机上工作时一切正常但是我试图从我的macbook上做工作,它给了我很多警告/错误。
我已经在网上找了解如何使用cmake链接目录,我认为我的这部分是正确的。
cmake_minimum_required(VERSION 3.8)
project(GraphicsProgramming_Lab3)
CMAKE_CXX_STANDARD
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")
IF(APPLE)
INCLUDE_DIRECTORIES ( /System/Library/Frameworks )
FIND_LIBRARY(GLUT_LIBRARY GLUT )
FIND_LIBRARY(OpenGL_LIBRARY OpenGL )
MARK_AS_ADVANCED (
GLUT_LIBRARY
OpenGL_LIBRARY)
SET(EXTRA_LIBS ${GLUT_LIBRARY} ${OpenGL_LIBRARY})
ENDIF (APPLE)
set(SOURCE_FILES main.cpp Scene.cpp Scene.h Input.cpp Input.h Vector3.cpp Vector3.h)
add_executable(GraphicsProgramming_Lab3 ${SOURCE_FILES})
target_link_libraries(GraphicsProgramming_Lab3 ${GLUT_LIBRARY})
然而,当我查看我的代码时,我可以看到很多函数都有一行通过它们得分,当我突出显示它时,它告诉我他们已经弃用了。
编译器在尝试构建时给我这条消息:
-- Configuring done
-- Generating done
-- Build files have been written to:
/Users/leekellie/CLionProjects/GraphicsProgramming_Lab3/cmake-build-debug
[ 40%] Building CXX object
CMakeFiles/GraphicsProgramming_Lab3.dir/main.cpp.o
[ 40%] Building CXX object
CMakeFiles/GraphicsProgramming_Lab3.dir/Scene.cpp.o
[ 60%] Building CXX object
CMakeFiles/GraphicsProgramming_Lab3.dir/Input.cpp.o
[ 80%] Building CXX object
CMakeFiles/GraphicsProgramming_Lab3.dir/Vector3.cpp.o
[100%] Linking CXX executable GraphicsProgramming_Lab3
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum
deployment target of OS X 10.9 [-Wdeprecated]
Undefined symbols for architecture x86_64:
以及关于我使用的功能的一堆其他消息,这里是一个,它们都非常相似:
"_glBegin", referenced from:
Scene::render() in Scene.cpp.o
Scene::render() in Input.cpp.o
"_glClear", referenced from:
Scene::render() in Scene.cpp.o
Scene::render() in Input.cpp.o
"_glClearColor", referenced from:
Scene::Scene(Input*) in Scene.cpp.o
Scene::Scene(Input*) in Input.cpp.o
我不确定我能做些什么(第一次使用openGL& GLUT并第一次使用mac来完成我的课程作业)。
感谢任何帮助,谢谢。