我正在尝试学习OpenGL,并希望使用cmake设置我的构建环境。我将使用GLEW(OpenGL Extension Wrangler)和freeglut。然而,有一个问题......因为我是项目管理的绝对初学者"在C ++和cmake中,我很难指向静态库。我可以理解C ++代码,但对基于C ++的项目构建系统不熟悉。
我只是想简单地尝试生成Visual Studio 2015项目。我的问题是:如何将我的静态库展示给cmake。我的项目文件夹结构:
build # Folder where I would like cmake generated files to be generated in this directory.
include
|-- GL
| |-- freeglut.h
| |-- freeglut_ext.h
| |-- freeglut_std.h
| |-- glut.h
|-- glew
| |-- eglew.h
| |-- glew.h
| |-- glxew.h
| |-- wglew.h
lib
|-- freeglut.lib
|-- freeglut_static.lib
|-- glew32.lib
|-- glew32s.lib
src
|-- main.cpp
CMakeLists.txt
我的CMakeLists.txt
文件如下:
cmake_minimum_required(VERSION 2.8)
project(sb7application)
find_package(OpenGL REQUIRED)
find_library(LINK_LIBS NAMES freeglut freeglut_static glew32 glew32s PATHS lib)
include_directories(include)
file(GLOB SOURCES "src/*.cpp")
add_executable(${PROJECT_NAME} ${SOURCES})
target_link_libraries(${PROJECT_NAME} ${LINK_LIBS} ${OPENGL_LIBRARY})
这里,基本上我想要的是让CMake链接lib
文件夹中的静态库。但是,此cmake脚本不会将链接器输入配置添加到我的visual studio项目设置中。例如,如果我打开生成的visual studio项目并转到Properties>项目链接器并将此lib
目录添加到其他库目录,并在Properties>中指定库(.lib
s)。链接器>输入部分,它成功编译。否则,它会出现类似'__imp_glewInit()' cannot be found
。
是的,如何将此lib
目录及其内容显示为要链接的静态库?如果你可以向孩子解释,并详细解释每一步,我会非常感激。