Hello,
I'm trying to build an EWO for WinCC OA. So I open the online help but I didn't see anything about specific configuration for QT editor.
I can create my .h and .c files (with the newEWO.cmd), open them into QT editor but when I try to build the project I can just access to classic QT compilers and I didn't obtain any .ewo file.
I think I did something wrong or miss something into QT configuration, but there is a lack of explanations about this into the help.
I hope that someone could help me by explaining how I have to use QT editor in order to build .ewo file?
Thanks in advance
Alex
How to build an EWO?
- mkoller
- Posts:741
- Joined: Fri Sep 17, 2010 9:03 am
Re: How to build an EWO?
I fear your question is unclear.
What do you mean with "classic QT compilers" ?
Qt itself has no compiler.
I assume you are on Windows and have already installed Qt-4.7.0 and also you have the Qt-4.7.0-installation/bin in your path
and you have defined the env var QTDIR to point to your Qt-4.7.0-installation dir.
And of course you have installed Visual Studio 2010, which is the only one we support with 3.11 on Win.
What you need to do after the newEWO.cmd call is cd into the newly created directory, run "qmake" and "nmake" - that's it.
What do you mean with "classic QT compilers" ?
Qt itself has no compiler.
I assume you are on Windows and have already installed Qt-4.7.0 and also you have the Qt-4.7.0-installation/bin in your path
and you have defined the env var QTDIR to point to your Qt-4.7.0-installation dir.
And of course you have installed Visual Studio 2010, which is the only one we support with 3.11 on Win.
What you need to do after the newEWO.cmd call is cd into the newly created directory, run "qmake" and "nmake" - that's it.
- adaneau
- Posts:310
- Joined: Tue Feb 21, 2012 9:49 am
Re: How to build an EWO?
Thanks for answer.
Ah this is more clear for me, I was trying to compile direct into QT editor and not through qmake.
So I used qmake and nmake.
But after this, into my folder I have no .ewo file:
Into release folder I get some files:
- moc_test.cpp
- moc_test.obj
- test.dll
- test.exp
- test.lib
- test.obj
- test.intermediate.manifest
Which one should I use? Is my configuration correct?
Ah this is more clear for me, I was trying to compile direct into QT editor and not through qmake.
So I used qmake and nmake.
But after this, into my folder I have no .ewo file:
Into release folder I get some files:
- moc_test.cpp
- moc_test.obj
- test.dll
- test.exp
- test.lib
- test.obj
- test.intermediate.manifest
Which one should I use? Is my configuration correct?
- mkoller
- Posts:741
- Joined: Fri Sep 17, 2010 9:03 am
Re: How to build an EWO?
test.dll is the ewo plugin. Just rename it to test.ewo
- adaneau
- Posts:310
- Joined: Tue Feb 21, 2012 9:49 am
Re: How to build an EWO?
Hello,
Thanks for answer but when launching my quick test with the EWO I get this error:
WCCOAui (10), 2013.04.15 09:37:42.707, SYS, WARNING, 133, Could not load shared library C:\\Siemens\\Automation\\WinCC_OA\\3.11\\bin\\widgets/test.ewo, La proc?dure sp?cifi?e est introuvable. (process unavailable)
WCCOAui (10), 2013.04.15 09:37:42.713, SYS, WARNING, 36/uim, The EWO "C:\\Siemens\\Automation\\WinCC_OA\\3.11\\bin\\widgets/test.ewo" is version "1", but we can only load version "3"
Is there any option to choose the version when compiling? Is it about the Qt version or something else?
Thanks in advance for answers.
Alexandre DANEAU
Thanks for answer but when launching my quick test with the EWO I get this error:
WCCOAui (10), 2013.04.15 09:37:42.707, SYS, WARNING, 133, Could not load shared library C:\\Siemens\\Automation\\WinCC_OA\\3.11\\bin\\widgets/test.ewo, La proc?dure sp?cifi?e est introuvable. (process unavailable)
WCCOAui (10), 2013.04.15 09:37:42.713, SYS, WARNING, 36/uim, The EWO "C:\\Siemens\\Automation\\WinCC_OA\\3.11\\bin\\widgets/test.ewo" is version "1", but we can only load version "3"
Is there any option to choose the version when compiling? Is it about the Qt version or something else?
Thanks in advance for answers.
Alexandre DANEAU
- mkoller
- Posts:741
- Joined: Fri Sep 17, 2010 9:03 am
Re: How to build an EWO?
The "version mismatch" error can be misleading.
It works like this:
The UI tries to load the ewo and wants to find the "getVersionString" function in the loaded dll.
But when the ewo is linked against other libraries which the operating system does not find, the ewo can not be loaded, and therefore the
"getVersionString" function can not be found.
The UI can not know the reason why the OS could not load the lib and therefore does not return the function and so it thinks the OS loaded
an ewo which is version 1, where we did not have the "getVersionString" function at all.
So it boils down to a problem with other libs your ewo needs but the OS does not find in the PATH
It works like this:
The UI tries to load the ewo and wants to find the "getVersionString" function in the loaded dll.
But when the ewo is linked against other libraries which the operating system does not find, the ewo can not be loaded, and therefore the
"getVersionString" function can not be found.
The UI can not know the reason why the OS could not load the lib and therefore does not return the function and so it thinks the OS loaded
an ewo which is version 1, where we did not have the "getVersionString" function at all.
So it boils down to a problem with other libs your ewo needs but the OS does not find in the PATH
- adaneau
- Posts:310
- Joined: Tue Feb 21, 2012 9:49 am
Re: How to build an EWO?
Ah ok, thanks for explanations.
But I used the EWO project from WinCC OA without any change.
Is there any value to add to Windows path?
I didn't see anything in help or in README file.
But I used the EWO project from WinCC OA without any change.
Is there any value to add to Windows path?
I didn't see anything in help or in README file.
- mkoller
- Posts:741
- Joined: Fri Sep 17, 2010 9:03 am
Re: How to build an EWO?
You're using the example from the api ?
Your're using Visual Studio 2010 ?
The CPU architecture is the same in the ewo and the installed WinCC_OA ? (e.g. you must not mix 32bit UI and 64bit EWOs or vice versa)
You can also check what the tool "depends" tells you (dependency walker).
Your're using Visual Studio 2010 ?
The CPU architecture is the same in the ewo and the installed WinCC_OA ? (e.g. you must not mix 32bit UI and 64bit EWOs or vice versa)
You can also check what the tool "depends" tells you (dependency walker).