L.S.
After upgrading to Patch 5 none of our custom compiled managers and drivers work anymore. They all generate the following errors before exiting:
The procedure entry point ?toCaseFolded@QString@@QEHAA?AV1@XZ could not be located in the dynamic link library C:\\Siemens\\Automation\\WinCC_OA\\3.16\\bin\\libDatapointV316.dll.
The procedure entry point ?toLocal8Bit@QString@@QEHAA?AVQByteArray@@XZ could not be located in the dynamic link library C:\\Siemens\\Automation\\WinCC_OA\\3.16\\bin\\libManagerV316.dll.
I did a re-compile without success. Did anything change with regards to the API and/or compiler versions to use between Patch 5 and the earlier versions?
Regards,
Jan
P.S. I am compiling for for the Windows version using the Visual Studio 2015 compiler version.
WCC OA 3.16 Patch 5 issue
Search
Re: WCC OA 3.16 Patch 5 issue
Hello,
What was the WinCC OA patch you have used/compiled-with before?
When you said recompile, you did a recompile against the API of P005 and it still happens? Can you send us a small example?
BR, Andreas
CustomerCare
What was the WinCC OA patch you have used/compiled-with before?
When you said recompile, you did a recompile against the API of P005 and it still happens? Can you send us a small example?
BR, Andreas
CustomerCare
Re: WCC OA 3.16 Patch 5 issue
Hello,
Probably the reason for the behavior is that the own WinCC OA-bin directory is not added to the path by the pmon when starting managers, resulting in the manager probably finding wrong libraries.
Do you have other WinCC OA versions installed on the same machine?
Please try to add the WinCC OA bin directory to your system PATH variable and restart your WinCC OA processes afterwards.
BR, Andreas
Customer Care
Probably the reason for the behavior is that the own WinCC OA-bin directory is not added to the path by the pmon when starting managers, resulting in the manager probably finding wrong libraries.
Do you have other WinCC OA versions installed on the same machine?
Please try to add the WinCC OA bin directory to your system PATH variable and restart your WinCC OA processes afterwards.
BR, Andreas
Customer Care
Re: WCC OA 3.16 Patch 5 issue
Things got a bit mixed up with the switch to the new portal so the anwser from Emanual Ivanovic does no longer show up so I repeat it here:
Hi Jan,
I think I have seen such a similar Problem. Can you check your PATH setting for WinCC OA?
It seems that with the new patch it moved somehow to the beginning of the PATH. Can you move it back to the end and see if this works for you?
BR
Emanuel
I have checked to see where the path was located (I assume you refer to the path to the WinCC OA bin folder in the %PATH% environment variable). It was somewhere in between so I moved it to the end without result. I have several versions of WinCC OA installed on my development machine (3.12, 3.14, 3.15 and 3.16) so I use a batch file to setup and start visual studio depending on which version of WinCC OA I am compiling for. For 3.16 I use the following batch file:
@echo off
rem cmd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"
set API_ROOT=C:\Siemens\Automation\WinCC_OA\3.16\api
set PVSS_II=C:\Siemens\Automation\WinCC_OA\3.16\config\config
set PVSS_II_HOME=C:\Siemens\Automation\WinCC_OA\3.16
rem 3.16 uses Qt 5.9.2...
set QTDIR=C:\Qt\Qt5.5.0\5.5\msvc2013_64
set VC8_DEFS=-DLIBS_AS_DLL -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNODEF__RPC_H__ -DWINVER=0x0500 -DUSES_NEW_IOSTREAMS -DPVSS_PLATFORM=\"%API_PLATFORM%\" -I%API_ROOT%/include/winnt/pvssincl/vc8 -I%API_ROOT%/include/winnt/pvssincl
set API_INCL=.\;%API_ROOT%\include\winnt\pvssincl;%API_ROOT%\include\Basics\Utilities;%API_ROOT%\include\Basics\Variables;%API_ROOT%\include\Basics\NoPosix;%API_ROOT%\include\Basics\DpBasics;%API_ROOT%\include\BCMNew;%API_ROOT%\include\Configs;%API_ROOT%\include\Configs\DrvConfigs\DrvCommon;%API_ROOT%\include\Configs\DrvConfigs\ConvSmooth;%API_ROOT%\include\Datapoint;%API_ROOT%\include\Messages;%API_ROOT%\include\Manager;%API_ROOT%\include\ComDrv;%API_ROOT%\include\Ctrl;%API_ROOT%\include\V24
set API_LIB=%API_ROOT%\lib.winnt\libCtrl.lib;%API_ROOT%\lib.winnt\libComDrv.lib;%API_ROOT%\lib.winnt\libManager.lib;%API_ROOT%\lib.winnt\libMessages.lib;%API_ROOT%\lib.winnt\libDatapoint.lib;%API_ROOT%\lib.winnt\libConfigs.lib;%API_ROOT%\lib.winnt\libBasics.lib;%API_ROOT%\lib.winnt\libV24.lib;%API_ROOT%\lib.winnt\bcm.lib;%API_ROOT%\lib.winnt\ewo.lib;wsock32.lib;netapi32.lib
set D_PVSS_VER=-DPVSS_VER_316 -DPVSS_VERS=316000 "-DPVSS_VERS_DLL=\"316000\""
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe"
I use Visual Studio 2017 with the Visual Studio 2015 compiler tools.
Considering the errors I get it looks like it that the API is compiling and linking to a couple of functions which no longer exist in the runtime dll's anymore. Could it be that the patch does not include any needed API updates?
Regards,
Jan
Hi Jan,
I think I have seen such a similar Problem. Can you check your PATH setting for WinCC OA?
It seems that with the new patch it moved somehow to the beginning of the PATH. Can you move it back to the end and see if this works for you?
BR
Emanuel
I have checked to see where the path was located (I assume you refer to the path to the WinCC OA bin folder in the %PATH% environment variable). It was somewhere in between so I moved it to the end without result. I have several versions of WinCC OA installed on my development machine (3.12, 3.14, 3.15 and 3.16) so I use a batch file to setup and start visual studio depending on which version of WinCC OA I am compiling for. For 3.16 I use the following batch file:
@echo off
rem cmd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Tools\VsDevCmd.bat"
set API_ROOT=C:\Siemens\Automation\WinCC_OA\3.16\api
set PVSS_II=C:\Siemens\Automation\WinCC_OA\3.16\config\config
set PVSS_II_HOME=C:\Siemens\Automation\WinCC_OA\3.16
rem 3.16 uses Qt 5.9.2...
set QTDIR=C:\Qt\Qt5.5.0\5.5\msvc2013_64
set VC8_DEFS=-DLIBS_AS_DLL -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DNODEF__RPC_H__ -DWINVER=0x0500 -DUSES_NEW_IOSTREAMS -DPVSS_PLATFORM=\"%API_PLATFORM%\" -I%API_ROOT%/include/winnt/pvssincl/vc8 -I%API_ROOT%/include/winnt/pvssincl
set API_INCL=.\;%API_ROOT%\include\winnt\pvssincl;%API_ROOT%\include\Basics\Utilities;%API_ROOT%\include\Basics\Variables;%API_ROOT%\include\Basics\NoPosix;%API_ROOT%\include\Basics\DpBasics;%API_ROOT%\include\BCMNew;%API_ROOT%\include\Configs;%API_ROOT%\include\Configs\DrvConfigs\DrvCommon;%API_ROOT%\include\Configs\DrvConfigs\ConvSmooth;%API_ROOT%\include\Datapoint;%API_ROOT%\include\Messages;%API_ROOT%\include\Manager;%API_ROOT%\include\ComDrv;%API_ROOT%\include\Ctrl;%API_ROOT%\include\V24
set API_LIB=%API_ROOT%\lib.winnt\libCtrl.lib;%API_ROOT%\lib.winnt\libComDrv.lib;%API_ROOT%\lib.winnt\libManager.lib;%API_ROOT%\lib.winnt\libMessages.lib;%API_ROOT%\lib.winnt\libDatapoint.lib;%API_ROOT%\lib.winnt\libConfigs.lib;%API_ROOT%\lib.winnt\libBasics.lib;%API_ROOT%\lib.winnt\libV24.lib;%API_ROOT%\lib.winnt\bcm.lib;%API_ROOT%\lib.winnt\ewo.lib;wsock32.lib;netapi32.lib
set D_PVSS_VER=-DPVSS_VER_316 -DPVSS_VERS=316000 "-DPVSS_VERS_DLL=\"316000\""
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe"
I use Visual Studio 2017 with the Visual Studio 2015 compiler tools.
Considering the errors I get it looks like it that the API is compiling and linking to a couple of functions which no longer exist in the runtime dll's anymore. Could it be that the patch does not include any needed API updates?
Regards,
Jan
Re: WCC OA 3.16 Patch 5 issue
Hallo,
do you have older Version of WinCC OA installed on the machine?
I got similar errors if the wrong Qt5Core.dll is used. (In my case the 3.15 version)
Maybe you have an old WinCC OA "bin" directory in the PATH before 3.16 "bin" directory
when you start your manager
best regards
Andreas
do you have older Version of WinCC OA installed on the machine?
I got similar errors if the wrong Qt5Core.dll is used. (In my case the 3.15 version)
Maybe you have an old WinCC OA "bin" directory in the PATH before 3.16 "bin" directory
when you start your manager
best regards
Andreas
Re: WCC OA 3.16 Patch 5 issue
Andreas,
That seems to have fixed my issue. I have older versions of WinCC OA installed which were defined before 3.16 in the PATH variable. Moving the 3.16 up above the others in the path variable fixed this. This will maybe mean some issues when I need to use the older versions again but knowing this should be able to work around this.
Thanks for your help.
Regards,
Jan
That seems to have fixed my issue. I have older versions of WinCC OA installed which were defined before 3.16 in the PATH variable. Moving the 3.16 up above the others in the path variable fixed this. This will maybe mean some issues when I need to use the older versions again but knowing this should be able to work around this.
Thanks for your help.
Regards,
Jan