Windows下xmake编译imgui成功之OpenGL

 

  1. 下载xmake, 并安装.(下载的是安装文件,直接安装到Windows下, 重启了一下电脑,否则环境变量不生效).
    下载地址 : https://github.com/xmake-io/xmake/releases/tag/v2.5.2
  2. 打开命令行,输入xmake --help, 有结果显示, 说明安装成功了.
  3. 下载imgui源码 : https://github.com/ocornut/imgui
  4. 新建一个目录,在这个目录下执行xmake create -l c++ -P ./imguiGLFW, 这样就创建了一个工程.
  5. 将imgui/src下的源码拷到imguiGLFW/src下。
  6. 将imgui/src/backends下的imgui_impl_glfw.*和imgui_impl_opengl3.*拷到imguiGLFW/src下.
  7. 将example/example_glfw_opengl3下的main.cpp拷贝到imguiGLFW/src下。
  8. 此时在imguiGLFW目录下执行xmake进行编译,必然会错误, 因为需要glfw、glew、opengl这三个库的支持,如果没有配置,那是错误一大片啊
    glfw  需要下载自行编译, 下载地址:https://www.glfw.org/      
    glew 是下载的编译好的库, 下载地址:https://www.opengl.org/sdk/libs/GLEW/     

    opengl库就不用下载了,Windows系统安装后就有了。
  9. 编译glfw的时候一定要注意,我这边是用CMake生成了VS2019的工程,然后编译生成了glfw3.lib, 使用的时候报了很多错误,
    比如: glfw3.lib(input.obj) : error link2019:无法解析的外部符号xxxxxxxxxxxxx
    需要在VS2019的工程中将glfw工程右键=》属性=》C/C++=》代码生成=》运行库=》多线程调试DLL(/MTD)

    这里对MTd、/MT、/MD、/MDd 做一下简单说明:


    MT:mutithread,多线程库,编译器会从运行时库里面选择多线程静态连接库来解释程序中的代码,即连接LIBCMT.lib库
    MTd:mutithread+debug,多线程调试版,连接LIBCMTD.lib库
    MD:MT+DLL,多线程动态库,连接MSVCRT.lib库,这是个导入库,对应动态库为MSVCRT.dll
    MDd: MT+DLL+debug,多线程动态调试库,连接MSVCRTD.lib库,对应动态库为MSVCRTD.dll
     
  10. 配置glfw和glew的库位置,和头文件位置,此时执行xmake编译,还是会有问题的,需要windows相关的库支持
    #pragma comment(lib, "OpenGL32.lib")
    #pragma comment(lib, "User32.lib")
    #pragma comment(lib, "Gdi32.lib")
    #pragma comment(lib, "shell32.lib")
  11. 在main.cpp文件中加入:
  12. 执行xmake进行编译, 此时如果没有意外会编译连接成功,但是运行不了,我们需要将需要的.dll文件拷贝到imguiDemo文件所在的目录下.
  13. 执行xmake run imguiDemo.exe ,程序会正常运行。

此文纯属记录操作步骤,如果不准确之处,请多多指教。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值