欢迎关注更多精彩
关注我,学习常用算法与数据结构,一题多解,降维打击。
看图要到公众号
遇到的问题与解决方法
问题
- 之前自己学习图形学的框架代码是用mac电脑,配置上都不一样,换个电脑要搞老半天。
- 现在在新公司用cmake+conan的形式来管理软件,个人感觉很好,这两样都不熟。
- 公司里使用visual studio 来开发和编译。
- 原来学习图形学的代码管理很乱。
- 第三方库下载和安装麻烦,每次换电脑都要查找和安装
期望效果
- 利用cmake的形式来管理图形学代码,这样以后换电脑也可以很快生成可执行的代码
- 对代码进行模块管理,结构更加清晰,子模块的调用更加方便。
- 利用conan管理依赖,不管在哪里可以一键安装。
解决方法
- 熟悉cmake管理项目的形式。
- 编写conan管理eigen, glfw, glad, openmesh等常用第三方库。
- 利用cmake+conan生成可以执行opengl的基础代码。
操作过程
- 有些包要科学上网
- 有些包要科学上网
- 有些包要科学上网
先搜索一下有哪些可用版本
>conan search glad -r conancenter
Existing package recipes:
glad/0.1.33
glad/0.1.34
glad/0.1.35
glad/0.1.36
>conan search glfw -r conancenter
Existing package recipes:
glfw/3.3.2
glfw/3.3.3
glfw/3.3.4
glfw/3.3.5
glfw/3.3.6
glfw/3.3.7
glfw/3.3.8
>conan search eigen -r conancenter
Existing package recipes:
eigen/3.3.7
eigen/3.3.8
eigen/3.3.9
eigen/3.4.0
编写conanfile.txt
选择自己喜爱的版本
[requires]
eigen/3.4.0
glad/0.1.36
glfw/3.3.8
[generators]
cmake
创建文件CMakeLists.txt, tutorial.cpp 可以参考链接。
编写CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
# set the project name
project(Tutorial)
message("${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}")
# 添加这两行
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()
message("conan libs : ${CONAN_LIBS}")
# add the executable
add_executable(Tutorial tutorial.cpp)
target_link_libraries(Tutorial ${CONAN_LIBS})
进入到build文件夹
直接运行报错了,要加上–build missing
// >conan install ..
>conan install .. --build missing
生成了conanbuildinfo.cmake 文件,就是CMakeLists.txt 里要用到的。
运行cmake
现在电脑里装的是Visual Studio 2022, 就用这个编译器。
生成成功
打开项目编译成功
设置成启动项运行一下。
成功
本人码农,分享计算机相关知识