Windows下编译和使用libQGLViewer

Windows下开发OpenGL程序感觉比较头疼,总是找不到链接库,或者无法运行,可能是自己在Ubuntu系统下编写程序习惯了。不过有时候,总是需要跟Windows打交道,今天就花了点时间折腾了一下,这里记录一下,以免后面又忘了。

Windows下使用QtCreator编译libQGLViewer还是很顺利的,安装完QT开发包之后,在系统环境变量Path中添加
C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\bin
C:\Qt\Qt5.12.10\5.12.10\msvc2017_64\lib\cmake,其实这跟Ubuntu系统中在/bashrc中添加export PATH=~/home/Qt5.12.10/5.12.10/xxx/bin:$PATHexport PATH=~/home/Qt5.12.10/5.12.10/xxx/lib/cmake:$PATH作用是一样的。
安装完QT和设置好环境变量之后,我们就可以编译libQGLViewer了,首先从libQGLViewergithub仓库中下载最新的源码,然后通过QtCreator加载整个工程,然后选择构建QGLViewer模块。这样,我们会在QGLViewer的源码目录下看到QGLViewer2.dllQGLViewer2d.dllQGLViewer2.libQGLViewer2d.lib
然后将QGLViewer2.dllQGLViewer2d.dll拷贝到QT的bin目录下,前面我们已经把该目录添加系统的环境变量中了,这里把libQGLViewer放到里面是为了让程序运行的时候找到依赖项。
后面还是希望能用CMake来构建libQGLViewer,但是感觉翻译有点麻烦,qmake的语法不太熟悉。

cmake_minimum_required(VERSION 3.5)

project(opengl02 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_BUILD_TYPE "Release")
find_package(OpenGL)
find_package(Qt5 COMPONENTS Core Gui Widgets Xml OpenGL PrintSupport)
include_directories(E:/3rdPartyCodes/libQGLViewer-master/libQGLViewer-master)
#link_directories(E:/CodeSnippets/LibQGLViewer/release)
link_directories(E:/3rdPartyCodes/libQGLViewer-master/libQGLViewer-master/QGLViewer)

add_executable(opengl02
    main.cpp
    viewer.cpp
    viewer.h
    )

target_link_libraries(opengl02
                      Qt5::Core
                      Qt5::Gui
                      Qt5::Widgets
                      Qt5::Xml
                      Qt5::OpenGL
                      Qt5::PrintSupport
                      opengl32
                      glu32
                      QGLViewer2
                      )

程序运行的最终效果:
Windows下编译和使用libQGLViewer_第1张图片

你可能感兴趣的:(Qt5,cmake)