OPCUA sdk 包含路径

OPCUA sdk include path

我在 OPCUA 客户端示例中包含 uaplatformlayer.h 时遇到问题。 我在 SDK 中找到了这个例子。我试着做自己的 makefile,来构建示例客户端 lesson01。 我使用 Visual Studio 代码。它找不到这个 .h 文件。

#include "uaplatformlayer.h"
#include "sampleclient.h"

int main(int, char*[])

{    
    UaStatus status;

    // Initialize the UA Stack platform layer
    UaPlatformLayer::init();

    // Create instance of SampleClient
    SampleClient* pMyClient = new SampleClient();

    return 0;
}

它仍然回复...

g++ -g -Wall  -c client_cpp_sdk_tutorial.cpp
client_cpp_sdk_tutorial.cpp:1:10: fatal error: uaplatformlayer.h: Adresář nebo soubor neexistuje
    1 | #include "uaplatformlayer.h"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:9: client_cpp_sdk_tutorial.o] Chyba 1
The terminal process "bash '-c', '/home/michal/Dokumenty/OPCUA_adapter/sdk/examples/client_gettingstarted/lesson01/build.sh'" failed to launch (exit code: 2)

我想我的问题出在makefile中,但我不知道错误在哪里。

有人能帮帮我吗? 有人使用过 OPCUA SDK 吗?

cc=g++
cflags=-g -Wall 
libflags=-L/home/michal/Dokumenty/OPCUA_adapter/sdk/lib -luamoduled -luamodelsd -lcoremoduled -luabasecppd -luastackd -lxmlparsercppd -luapkicppd -luaclientcppd -lxml2 -lssl -lcrypto
includes=-I/home/michal/Dokumenty/OPCUA_adapter/sdk/include/uabasecpp -I/home/michal/Dokumenty/OPCUA_adapter/sdk/include/uastack
objfiles=client_cpp_sdk_tutorial.o sampleclient.o
vystup=aplikace

%.o : %.cpp
    $(cc) $(cflags) -c $<

# startovaci pravidlo
vychozi: $(vystup)

# zavislosti
dep:
    $(cc) -MM *.cpp >dep.list

-include dep.list

clean:

    rm aplikace $(objfiles)

# slinkování aplikace
$(vystup): $(objfiles)
    $(cc) $(cflags) $(objfiles) $(includes) $(libflags) -o $@

您需要在 .o 文件的配方中添加“包含”:

%.o : %.cpp
    $(cc) $(cflags) $(includes) -c $<