2021-01-03

mac下clion+glfw+glad环境搭建

  1. clion

  2. glfw下载编译。下载地址:glfw下载地址,下载完后是个zip包,解压,然后 命令行cd到该目录,

      cmake .
      make 
      make install
    

    然后会看到glfw安装到了 /usr/local/lib

    [ 95%] Built target monitors
    [ 98%] Built target events
    [100%] Built target icon
    Install the project...
    -- Install configuration: ""
    -- Up-to-date: /usr/local/include/GLFW
    -- Up-to-date: /usr/local/include/GLFW/glfw3.h
    -- Up-to-date: /usr/local/include/GLFW/glfw3native.h
    -- Installing: /usr/local/lib/cmake/glfw3/glfw3Config.cmake
    -- Installing: /usr/local/lib/cmake/glfw3/glfw3ConfigVersion.cmake
    -- Installing: /usr/local/lib/cmake/glfw3/glfw3Targets.cmake
    -- Installing: /usr/local/lib/cmake/glfw3/glfw3Targets-noconfig.cmake
    -- Installing: /usr/local/lib/pkgconfig/glfw3.pc
    -- Installing: /usr/local/lib/libglfw3.a
    
  3. Glad 下载 glad是在线配置。选择c/c++ gl:version3.2 profile:core 然后右下角generate就会下载一个zip包。解压,里面有1个src/glad.c 和一个include文件夹。

  4. 新建clion工程。包含文件夹,src,include,libs,res。把glad的include下文件拷贝到工程的include,把glad.c拷贝到工程目录。然后编辑CMakeLists.txt

    # cmake版本
    cmake_minimum_required(VERSION 3.17)
    # 工程名字
    project(h3d)
    # c++标准版本
    set(CMAKE_CXX_STANDARD 11)
    
    # 头文件搜索目录
    include_directories(
            include
            src
            src/math
            /usr/local/include
    )
    
    # 保存目录变量
    aux_source_directory(. DIR_root)
    aux_source_directory(./src DIR_src)
    
    # 链接库目录
    link_directories(/usr/local/lib/)
    
    # 指定生成目标
    add_executable(Demo ${DIR_root} ${DIR_src})
    
    # 链接目标库
    target_link_libraries(Demo glfw)
    
  5. 然后就可以拷贝glfw中的example来验证了。

cmake

cmake需要正确的指定头文件包含目录 和 库目录,链接库名字。

遇到的坑

  • 从vs拷贝过来的代码在mac上乱码。这是因为vs上默认文件编码gbk。而clion是utf8.需要在clion中用gbk打开后convert称utf8. 也可参见其它vs保存成utf8的方案。
  • glfw链接失败。一般是库的路径或名字有问题。我一直以为是glfw3。其实应该是glfw。
  • c++文件io shader链接失败。一般是文件路径错误。比如空字符串穿进去,不会报错编译失败,而是会报错链接失败。要注意cmake生成的可执行文件是cmake-build-debug诸如这个,所以,当前目录应该是 …/res/shaders .

你可能感兴趣的:(rendering,opengl,图形学)