Open62541 V1.2.2 Windows DLL's

Lazarus™

Level-2
Beiträge
446
Reaktionspunkte
56
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
hat jemand die aktuelle Version (v1.3-rc1) oder die Version (1.2.2) als Windows DLL's (32 und 64 Bit) und würde mir die mailen ?
Ich habe keine Möglichkeit mir die DLL's selber zu erstellen aus dem Open62541-Sourcecode.

Vielen Dank schon mal und schöne Weihnachtstage euch Allen :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas,
das wäre richtig toll. Besondere Einstellungen brauche ich wahrscheinlich nicht, es sei denn für ConnectUsername muss man da schon
etwas anpacken (?). Toll wären beide 32 und 64 Bit...

Also wirklich, tausend dank!
 
Hallo Thomas,
vielen Dank!

Ich habe es auch selber mal probiert und mir ein VS etc. installiert und es ist wie verhext...
Deine und auch meine V1.2.2 32Bit funktionieren scheinbar korrekt die 64Bit von dir und von mir nicht.

Wie auch immer. Ich nehme erst mal die 32Bit V1.2.2 Version und kann erst mal fröhlich weiter entwickeln.
Das mit den 64ern wird sich sicher auch noch klären. Vielen Dank nochmals, das du dir die Zeit genommen hast.

Frohe Weihnachten dir und deiner Familie. Und bleib gesund !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe die genauso erzeugt wie ich auch für Wireshark die plugin dlls für 32 und 64 Bit erzeuge, das verwendet auch cmake und VS. Ist deine eigene Anwendung denn auch eine 64 Bit Anwendung?

Ich habe die dlls erzeugt, in dem ich erst die entsprechende Version auschecke, mit:
git checkout tags/v1.2.2

Dann in das open62541 Verzeichnis wechseln, und für 64 Bit:
Code:
mkdir build64
cd build64
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
cmake -G "Visual Studio 16 2019" -A x64 -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
msbuild /m /p:Configuration=Release /p:Platform=x64 open62541.sln

und für 32 Bit:
Code:
mkdir build32
cd build32
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64_x86
cmake -G "Visual Studio 16 2019" -A Win32 -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
msbuild /m /p:Configuration=Release /p:Platform=Win32 open62541.sln

aufrufen. In \bin\Release landen dann die .dll, .exp und .lib
 
Ja ich erstelle immer 2 Versionen eine 32Bit und eine 64Bit Applikation.
Ich habe folgende Wege probiert, mit absolut gleichem Ergebnis (Dateigrößen sind identisch, das Binary/DLL auch):

Weg #1:
Code:
git clone https://github.com/open62541/open62541.git

cd \Work\open62541
 
:: git checkout tags/v1.2
:: git checkout tags/v1.2.1
:: git checkout tags/v1.2.2
git checkout tags/v1.2.3
:: git checkout tags/v1.3-rc1
:: git checkout tags/master
 
curl -o tools/nodeset_compiler/type_parser.py https://raw.githubusercontent.com/olivluca/open62541/master/tools/nodeset_compiler/type_parser.py

cd \Work\open62541

cmake -A Win32 -S . -B build32_release -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1
cmake --build build32_release --config Release

cd \Work\open62541

cmake -A x64 -S . -B build64_release -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1
cmake --build build64_release --config Release

Weg #2:
Code:
cd \Work
rmdir /S /Q open62541

git clone https://github.com/open62541/open62541.git

cd \Work\open62541\

:: git checkout tags/v1.2
:: git checkout tags/v1.2.1
:: git checkout tags/v1.2.2
git checkout tags/v1.2.3
:: git checkout tags/v1.3-rc1
:: git checkout tags/master

cd \Work\open62541\

mkdir build64
cd build64
call "d:\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
cmake -G "Visual Studio 15 2017" -A x64 -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
msbuild /m /p:Configuration=Release /p:Platform=x64 open62541.sln

cd \Work\open62541\

mkdir build32
cd build32
call "d:\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64_x86
cmake -G "Visual Studio 15 2017" -A Win32 -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release ..
msbuild /m /p:Configuration=Release /p:Platform=Win32 open62541.sln
 
Bei mir sind die auch unterschiedlich groß, die 64 bit ist wie üblich etwas größer. Wenn ich dumpbin darauf loslasse zeigt mit dieser auch machine (x64) sowie den magic PE32+, was für 64 Bit Anwendung steht. Hab leider keinen UA Server greifbar um das mal zu testen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja die Plattformen Win32/x64 stimmen, Connect etc. funktionieren auf beiden Plattformen.
Nur zum Beispiel die Funktion:
Code:
function UA_Client_ReadValueAttribute(client: PUA_Client; const NodeId: UA_NodeId; out OutValue: UInt16): UA_StatusCode; overload;
var
  Value: Open62541.UA_Variant;
begin
  Open62541.UA_Variant_Init(Value);
  Result := Open62541.__UA_Client_ReadAttribute(Client, @NodeId, Open62541.UA_ATTRIBUTEID_VALUE, @Value, @Open62541.UA_TYPES[UA_TYPES_VARIANT]);
  if Result = Open62541.UA_STATUSCODE_GOOD then begin
    if Open62541.UA_Variant_HasScalarType(@Value, @Open62541.UA_TYPES[UA_TYPES_UINT16]) then
      (* HIER KOMME ICH NOCH AN, OHNE PROBLEM *)
      OutValue := Open62541.PUA_UINT16(Value.Data)^
      (* Value._type.typeId etc. stimmen *)
      (* ABER IM Value.Data ist NULL*)
    else
      Result := Open62541.UA_STATUSCODE_BADTYPEMISMATCH;
  end;
  Open62541.UA_Variant_Clear(Value);
end;

Im Moment habe ich keinen blassen Schimmer, was da das Problem ist...
 
Hallo,
ich bin wieder auf der Suche nach den fertig compilierten Open62541 DLL's V1.3.3 für x31 und x64

Hat die zufällig jemand und kann mir die geben ?
 
Zurück
Oben