想在Ubuntu上玩一下minigui,需要用QT下的QVFB,所以得在我的Ubuntu上先裝上Qt
我的Ubuntu版本:
kirin@kirin-VLR-WX9:/home$ uname -a
Linux kirin-VLR-WX9 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
QT版本:4.8.6
下載地址:http://download.qt.io/archive/qt/4.8/4.8.6/
點 qt-everywhere-opensource-src-4.8.6.tar.gz下載:
下載後解壓到某個地方。
這個版本的QT在這個版本的Linux系統下有一個地方需要修改,否則編譯的時候會報錯:
In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastAllocBase.h:84:0,
from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:24,
from ../3rdparty/javascriptcore/JavaScriptCore/pcre/pcre_exec.cpp:50:
../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:69: error: ‘std::tr1’ has not been declared
template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
^~~
../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:173:74: error: expected ‘{’ before ‘has_trivial_constructor’
emplate<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:68: error: ‘std::tr1’ has not been declared
template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
^~~
../3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h:174:73: error: expected ‘{’ before ‘has_trivial_destructor’
template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~
修改點:
kirin@kirin-VLR-WX9:~/workspace/minigui/qt-everywhere-opensource-src-4.8.6/mkspecs/common$ grep "gnu++98" -rn
g++-base.conf:18:QMAKE_CXX = g++ -std=gnu++98
gcc-base.conf:34:QMAKE_CFLAGS += -pipe -std=gnu++98
如上,g++ -base.conf 文件第18行 QMAKE_CXX 後面加上 -std=gnu++98
gcc-base.conf第34行**QMAKE_CFLAGS **後面也加上 -std=gnu++98
參考博文:https://blog.csdn.net/baidu_33850454/article/details/79147161
然後配置編譯即可:
make confclean //如果之前配置過先clean一下配置
./configure
make
sudo make install
安裝完成後可以到bin下試一下demo:
kirin@kirin-VLR-WX9:~/workspace/minigui/lib/qt-everywhere-opensource-src-4.8.6/bin$ ./qtdemo
裏面有各種demo、小遊戲啥的: