You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @lukasberbuer, another windows specific issue :-)
Introduced with 5357ee9, reproducible with v0.13.0
Building unresolved external symbol UA_VariableAttributes_default (and similar)
Steps to reproduce
Windows OS
Checkout version 5357ee9 of this repo (probably master or v0.13.0 will also do but not tested)
Compile with dev configuration with modified BUILD_SHARED_LIBS": "ON"
To have a simplified case: In tests\CMakeList.txt add_executable comment out all tests except Server.cpp (and main.cpp)
--> Compilation results in unresolved external symbol UA_VariableAttributes_default
Workarounds:
Change the include order either by setting cmake variable UA_ENABLE_AMALGAMATION
Or in tests\Server.cpp just add a #include <open62541/server_config_default.h> above the open62541pp includes. Probably open62541/server.h is enough, forgot to test this.
Solution (not sure if it's the best and cleanest one):
simply add the open62541 header #include "open62541/server.h" instead. This results in dllexport in open62541 and dllimport in open62541pp and the user's code.
I did not think too much about it but did not find a way to only declare the xxx_default parameters because this will collide with open62541\server.h.
The text was updated successfully, but these errors were encountered:
Hi @lukasberbuer, another windows specific issue :-)
Introduced with 5357ee9, reproducible with v0.13.0
Building unresolved external symbol UA_VariableAttributes_default (and similar)
Steps to reproduce
BUILD_SHARED_LIBS": "ON"
tests\CMakeList.txt
add_executable
comment out all tests exceptServer.cpp
(andmain.cpp
)Workarounds:
UA_ENABLE_AMALGAMATION
tests\Server.cpp
just add a #include <open62541/server_config_default.h> above theopen62541pp
includes. Probablyopen62541/server.h
is enough, forgot to test this.Solution (not sure if it's the best and cleanest one):
In
include\open62541pp\types
instead ofsimply add the open62541 header
#include "open62541/server.h"
instead. This results indllexport
in open62541 anddllimport
in open62541pp and the user's code.I did not think too much about it but did not find a way to only declare the xxx_default parameters because this will collide with
open62541\server.h
.The text was updated successfully, but these errors were encountered: