Linux下编译QCefView并使用QT编译测试程序
设置CMAKE和QT路径
export LD_LIBRARY_PATH=/home/chinaedu/Qt/5.15.2/gcc_64/lib:$LD_LIBRARY_PATH
export PATH=/home/chinaedu/Qt/5.15.2/gcc_64/bin:/home/chinaedu/Qt/5.15.2/gcc_64/lib:$PATH
export QMAKEPATH=/home/chinaedu/Qt/5.15.2/gcc_64/bin/qmake
export CMAKE_PREFIX_PATH=/home/chinaedu/Qt15.15.2/gcc_64/lib/cmake
下载仓库代码
git clone GitHub - CefView/QCefView: A Qt Widget encapsulated CEF view based on QWidget
配置编译环境
如果需要特定cef版本,可以修改cmake/CefViewCoreConfig.cmake文件设置所需要的cef版本
在QCefView下执行以下指令完成编译配置
./generate-linux-x86_64.sh
编译QCefView
执行指令:cmake --build .build/linux.x86_64
完成后在.build中可以找到编译后的文件,该文件夹为隐藏的,可使用Ctrl+H显示隐藏文件夹
编译后的库文件在./build/linux.x86_64/output/Release/bin中
示例程序可以在. build/linux.x86_64/example/QCefViewTest/output/Release/bin中找到。
使用Qt Creator制作qmake版的example项目
使用QtCreator创建QCefViewTest项目生成QMainWindow程序。
在生成的目录中将QCefView/example/QCefViewTest中的以下文件
复制到新项目QCefViewTest目录中并覆盖同名文件
将QCefView中的头文件和库文件复制到示例程序目录下,复制后的程序目录如下。
将刚刚拷贝的相应文件加入pro项目文件中
重点!!!在linux下必须要加入libcef.so库,且该库一定要在程序刚刚启动时就要加载,所以加入参数-Wl,--no-as-needed,用以强制开始加载库文件。
大坑!!!libcef.so库若不加入,在编译过程中不会报错,但运行时会卡住。如若不加-Wl,--no-as-needed参数,根据程序执行状态会出现以下几种情况:1.加载顺序正确程序正常使用,2.加载时机错误程序崩溃,3.加载时机错误程序卡死无法继续执行而不崩溃。
执行程序
编译文件完成后将bin目录中文件复制至编译后程序中目录中
运行QCefViewTest程序: