clone of https://github.com/emmar/gfbrowser
wes affcc05926 add the generated build files from QTCreator and add some notes about getting the build to work | 4 vuotta sitten | |
---|---|---|
package | 9 vuotta sitten | |
.gitignore | 4 vuotta sitten | |
README.md | 4 vuotta sitten | |
example.using.QWebView.cpp | 9 vuotta sitten | |
gfbrowser.cpp | 4 vuotta sitten | |
gfbrowser.pro | 9 vuotta sitten |
Basic web browser, can run with other backends but the goal is to run using a EGL backend. Build using buildroot and the gfbrowser package. When compiling with QT5 enable qtwebkit, eglfs, opengl support in buildroot. EGL backend needs to be available either by mesa3D, rpi-userland, etc. (Gluten-Free)
Notes:
: 'To setup on a non-target ubuntu machine run the following in an ubuntu bash shell:';
: 'Install developer tools.';
sudo apt-add-repository -y ppa:ubuntu-sdk-team/ppa; sudo apt-get update;
sudo apt-get install -y qtdeclarative5-dev libqt5webkit5-dev qt5-default;
sudo apt-get install -y build-essential mesa-common-dev libglu1-mesa-dev libsqlite3-dev;
: 'Clone a copy of this repository.';
git clone https://github.com/emmar/gfbrowser; cd gfbrowser;
: 'Optionally turn on the DEV_REMOTE_INSPECTOR opt flag.'
sed 's/^#\(DEFINES\)/\1/' gfbrowser.pro; : 'uncomment all DEFINES tags...'
: 'Compile and run the browser.';
qmake; make; ./gfbrowser http://www.google.com;
Actually it is not dead, I just got fed up on Msft Windows trying to compile the gfbrowser under the new versions of QT SDK. They are really pushing their chromium based WebEngine over the WebKit option. I tried to get the WebKit modules added to a copy of the QT SDK that was already installed on the Windows 10 Laptop that we have and I was able to get it compiled. But then the shared libraries seem to have moved functions around because when I launch the application it complains about not being able to find entry points for in the C:\Qt\Qt5.13.1\5.13.1\mingw73_32\bin\Qt5WebKitWidgets.dll
library. So that is no fun. QT does not really have a way to download the compiled development libraries so I am kind of screwed if I want a boxed copy. I could compile the libs, but right now I have a 3 hour deadline, I think if I just take the poison pill and port parts of gfbrowser to the WebEngine, which may already be installed. I might be able to finish.
Ahhh... Nevermind. the webenginewidgets are not even supported under mingw32, only MSVC 2017 and newer are allowed to compile. Lol.
Eventually I got this to work. I installed QT 5.13.1 and added a path to the Msft Environment Variables C:\Qt\Qt5.13.1\Tools\mingw730_32\bin
and then found a project that had compiled webkit binaries here. The extracted binaries referenced Mingw32 using 5.3.0 but overlaying the files into the previously mentioned minw730_32
directory worked fine. The compile occurred using QTCreator. I had to switch the builder to release, the debug build complained about libQt5WebKitWidgetsd.a midding. The 'd' at the end just means debug.
this is just a dump of things that I ran accross
previously the machine had QT creator and the mingw32 toolchain. The version of QT ws 5.13.1, I have read elsewhere that the newer widgets use some other API called WebEngine, but for now I do not want to port any of the gfbrowser code. Instead the modules needed for the older version of QT are still accessible online without needing to manually compile on the target machine. I found the 32-bit module here on QT's official site.
Project ERROR: Unknown module(s) in QT: webkitwidgets
after downloading, extract the contents and overlay them into the mingw32 toolchain directory. for me this was C:\Qt\Qt5.13.1\5.13.1\mingw73_32
If compiling from a random shell, make sure that the bin, lib, and include directory are accessible to the shell. Also after running the qmake program add SHELL=C:/Windows/System32/cmd.exe
into the generated Makefile, I ran into an error:
"C:\Program: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)
I had a lot of failure before this, I kind of kept some notes. I even tried to compile qtwebkit from source but lacked a bunch of support and gave up. They recommended the conan c/c++ package manager that had a circular reference dependancy between msys2, lzma, and 7zip.
ERROR: Loop detected in context host: 'lzma_sdk/9.20' requires 'msys2/20190524' which is an ancestor too
Also had a problem with a missing log2 routine in cmake:
CMake Error at source_subfolder/CMakeLists.txt:101 (message):
log2() not found