Appearance
初始化项目
Windows
本页内容介绍 MinGW 以及 MSVC 导入库,初始化项目的流程
1. MinGW+Qt
- MinGW
- MSVC
首先,在相关下载中找到上位机 SDK 下载栏,选择最新版本的 API 下载。
在Cpp文件夹下有 include 头文件夹,windows 文件夹下 win_mingw64_v2.x.x 存放着最新版本的动态库。
1.1 创建项目
创建一个 Qt Widgets Application 应用,命名为 qt_demo

1.2 导入SDK
创建好项目后,在项目下新建 libs 文件夹,将 SDK 拷贝到项目文件夹中
假设你的目录结构如下:
text
项目根目录/
├── libs/
│ ├── include/
│ │ └── c_interface
│ │ └── cpp_interface
│ │ └── parameter
│ ├── libnrc_host.dll.a
│ └── nrc_host.dll
└── main.cpp
└── mainwindow.cpp
└── mainwindow.h
└── mainwindow.ui
└── qt_demo.pro在项目中的 qt_demo.pro 文件的最后添加上SDK的头文件以及库引用
makefile
# 1. 指定头文件路径
INCLUDEPATH += $$PWD/libs/include
# 2. 指定库文件搜索路径
LIBS += -L$$PWD/libs
# 3. 链接库文件(注意名称格式)
LIBS += -lnrc_host
# 4. 确保运行时能找到 .dll(可选,见下方说明)
win32 {
# 将 .dll 复制到构建输出目录(如 debug/release)
DLL_SOURCE = $$shell_path($${PWD}\libs\nrc_host.dll)
DLL_TARGET = $$shell_path($${OUT_PWD}\\)
QMAKE_POST_LINK += $$quote(cmd /c copy /Y $$quote($$DLL_SOURCE) $$quote($$DLL_TARGET))
}1.3 调用头文件
在 mainwindows.cpp 中添加头文件 #include "cpp_interface/nrc_api.h"
cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
// 添加库的头文件
#include "cpp_interface/nrc_api.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}1.4 运行
点击运行,如果没有报错,代表成功的引入了头文件。

更多示例可以浏览C++接口说明 | 纳博特科技
2. MSVC
- 使用的 IDE 为: Qt Creator 5.0.2
- 编译套件为:Qt 5.12.12 MinGW 64-bit
在Cpp文件夹下有 include 头文件夹,windows 文件夹下 win_msvc2017_x64_v2.x.x 存放着最新版本的动态库。
2.1 创建项目
选择 c++ “控制台应用”创建。

2.2 导入SDK
创建好项目后,将 SDK 拷贝到新创建的项目文件夹中。
假设你的目录结构如下:
text
项目根目录/
├── libs/
│ ├── include/
│ │ └── c_interface
│ │ └── cpp_interface
│ │ └── parameter
│ ├── nrc_host.lib
│ └── nrc_host.dll
└── cpp_demo.cpp
└── cpp_demo.aps
└── cpp_demo.rc
└── cpp_demo.vcxproj
└── resource.h在 Visual Studio 中右键项目 → 属性 (Properties) → 配置以下选项:
(1) 添加头文件路径
- 使用的 IDE 为: Visual Studio 2022
- 编译生成工具为:MSVC Release x64
text
$(ProjectDir)libs\include(2) 添加库路径
- Configuration Properties → C/C++ → 常规(General)→ 附加包含目录(Additional Include Directories) 添加头文件路径:
text
$(ProjectDir)libs(3) 链接库文件
- Configuration Properties → 链接器(Linker) → 常规(General)→ 附加库目录(Additional Library Directories) 添加 .lib 文件所在路径:
text
nrc_host.lib(4) 确保运行时能找到 .dll
- Configuration Properties → 链接器(Linker) → 输入(Input) → 附加依赖项(Additional Dependencies) 添加 .lib 文件名:
text
copy "$(ProjectDir)libs\nrc_host.dll" "$(OutDir)"2.3 引入头文件
在cpp_demo.cpp中添加头文件
cpp
#include <iostream>
#include <thread>
#include <chrono>
#include <string>
#include "cpp_interface/nrc_interface.h" // 导入头文件
int main()
{
SOCKETFD fd = connect_robot("192.168.1.15", "6001");
if (fd <= 0)
{
std::cout << "连接失败" << std::endl;
return 0;
}
std::cout << "连接成功: " << fd << std::endl;
}点击本地 Windows 调试器,如果使用的 Debug 版本的库,需要将 Release 切换为 Debug。
如果没有报错,表示我们成功的引入了 SDK。
更多示例可以浏览C++接口说明 | 纳博特科技
Linux
新建 include、lib、src 三个文件夹,然后将 api/ 文件夹放入 include 中。将 libnrc_host 放入 lib 中,在 src 文件夹下新建一个 main.cpp 文件。

1、新建 Makefile 文件
将下面内容拷贝到Makefile文件中,并保存。
makefile
TARGET=demo
all:
g++ -o $(TARGET) src/*.cpp -I./include -L./lib -lnrc_host -lpthread -lm -ldl -lrt -lstdc++ -std=c++11 -fPIC
clean:
rm $(TARGET) $(objects)2、在 src 下新建 main.cpp 文件
cpp
#include <iostream>
#include "cpp_interface/nrc_api.h"
int main() {
std::cout << "connect state: " << std::endl;
SOCKETFD fd = connect_robot("192.168.1.15","6001");
std::cout << "connect state: " << get_connection_status(fd) << std::endl;
}3、编译生成可执行程序
打开终端,使用 make 将编译出可执行程序 demo
更多示例可以浏览接口示例 | 纳博特科技
- Configuration Properties → 生成事件(Build Events)→ 生成后事件(Post-Build Event) 添加 .lib 文件名: