ringQML Cannot Build

81 views
Skip to first unread message

Momen Gamal

unread,
Mar 2, 2026, 8:52:21 AM (12 days ago) Mar 2
to The Ring Programming Language
Hello Everyone,
i made program using "guilib.ring"+"ringqml.ring"
i tried many ring2exe/manual ways to convert my code to exe but its not success 
(exe program not opened after converting, while its work well before!)

i think error comes from that 'ringqml' not a standard library like guilib
do anyone faced this problem?

Greeting,
Momen

Mahmoud Fayed

unread,
Mar 2, 2026, 11:15:23 AM (12 days ago) Mar 2
to The Ring Programming Language
Hello Momen

You will need the DLLs files related to the libraries that you are using

For RingQML - See the bin folder:  ringqml/bin at main · mohannad-aldulaimi/ringqml

Greetings,
Mahmoud

Momen Gamal

unread,
Mar 2, 2026, 7:07:03 PM (12 days ago) Mar 2
to The Ring Programming Language

Hello Mahmoud,

yes i tried this method with this ring2exe command: ring2exe main.ring -dist -gui -qt -cruntime
but its not work

Greeting,
Momen

The Future of Programming

unread,
Mar 2, 2026, 7:12:28 PM (12 days ago) Mar 2
to The Ring Programming Language
Hello Momen

Ring2EXE know required extensions files through configuration files that exist in ring/tools/ring2exe/libs folder

When you install Ring, you get these files for RingQt and standard extensions that comes with the language

RingQML is an external package, and package creators could create Ring2EXE configuration file or not based on their choice

i. e this is outside the scope of Ring project, it is a RingQML package issue

In general do this manually, just copy and paste the files

Greetings, 
Mahmoud

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ring-lang/6a447639-8f18-4421-8400-98e924d69310n%40googlegroups.com.

Momen Gamal

unread,
Mar 3, 2026, 9:50:14 AM (11 days ago) Mar 3
to The Ring Programming Language
Hello Mahmoud,

Thank you for your clarification!

I understand that Ring2EXE relies on the configuration files in the libs folder and that RingQML is handled as an external package.

I have already tried the manual approach by copying the DLLs and the QML engine folders into the application folder, but I am still facing some dependency issues during runtime (like missing *.dll or loading without open) .

Greeting,

Momen


Momen Gamal

unread,
Mar 3, 2026, 12:37:56 PM (11 days ago) Mar 3
to The Ring Programming Language
Hello Mahmoud,

I tried many solutions and found one!
that I will try to explain in parts to make it easier to understand.

1.instead of load 'ringqml.ring' use load 'guilib.ring'

2.Example Code:
load "guilib.ring"

cQML = "
import QtQuick 2.15
import QtQuick.Controls 2.15

Rectangle {
    width: 600; height: 400
    color: '#e1f5fe'

    Column {
        anchors.fill: parent
        spacing: 20
        TabBar {
            id: bar
            width: parent.width
            TabButton { text: 'Main' }
            TabButton { text: 'Setting' }
        }

        Item {
            width: parent.width
            height: parent.height - bar.height
           
            Text {
                text: 'Embed QML 2.15 in Ring'
                anchors.centerIn: parent
                font.pointSize: 20
                color: '#2c3e50'
            }
        }
    }
}
"

cTempFile = currentdir() + "/temp_ui.qml"
write(cTempFile, cQML)

new qApp {
    w = new qWidget() {
        setWindowTitle("QML Fixed Layout")
        resize(600,400)

        oQuick = new qQuickWidget(w) {
            cFile = "file:///" + substr(cTempFile, "\", "/")
            setSource(new qURL(cFile))
            setResizeMode(1)
        }

        oLayout = new qVBoxlayout() { addWidget(oQuick) }
        setlayout(oLayout)
        showMaximized()
    }
    exec()
    remove(cTempFile)
}

3.write this ring2execommand: ring2exe yourFileName.ring -gui -qt -dist
4.from C:\ring\bin copy qml folder and paste in \target\windows(or your os name)
5.And congratulations, you now have a program written with 3 powerful technologies: Ring + Qt5 + QML 2.15

Mahmoud Fayed

unread,
Mar 3, 2026, 1:57:59 PM (11 days ago) Mar 3
to The Ring Programming Language
Hello Momen

If you used guilib.ring without ringqml.ring
What you have is just the ability to execute QML files 
i.e. no two-way communication between Ring and QML because this is what RingQML does

Greetings,
Mahmoud

MOHANNAD ALDULAIMI

unread,
Mar 10, 2026, 11:43:32 AM (4 days ago) Mar 10
to The Ring Programming Language
Hello Momen, Mahmoud

thanks for your interesting in my RingQML library.


this library is not a standard Ring Language library.
mybe in the future it would be but until now it is not!

why?
RingQML is not tells you "hey do not use Qt widgets in your apps" but it offers another option to create a GUI applications especially for embedded systems (web assembly,  android).

and designed to be simple, easy...

it designed to be a base for GUI framework.
but before start development the framework,  we need to support Qt QML 6.

so you can note that we started to support Qt 6.10.2 .

so what we expect from those who develop using RingQML to have Qt installed in their system.

so using windeployqt (executable file provided by qt to get the requird dlls and QML modules used in the app) we can distribute our app for windows.

for android you need to configure your own Qt project and use file loader.qml in qrc file that contains import commands for the modules used by your app.


until we finish support Qt 6.10.2 , we will provide a Qt project for android/web assembly ready to inject into your app.

Best wishes...

Mohannad

Mahmoud Fayed

unread,
Mar 11, 2026, 6:27:06 AM (3 days ago) Mar 11
to The Ring Programming Language
Hello Mohannad

Thank you very much for the continuous updates :D

Keep up the GREAT WORK :D

Greetings,
Mahmoud
Reply all
Reply to author
Forward
0 new messages