准备 安装一个vs2019

官网 下载 地址

下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux (microsoft.com)

链接:百度网盘 请输入提取码
提取码:uoqj

然后我们就开始

新建文件夹 右键 打开 vs

 文件  新建   项目

 找到  一个  dll  的项目

 下一步   找 一个  自己   看这比较 舒服的  路径     和 名字   点击创建

 完成 以后 就有这4个文件夹

 

 找到  pch.cpp  写你要封装的函数   我写了2个  一个是  无参的  和有参的(不用修改任何东西直接写直接的函数就可以了)

// pch.cpp: 与预编译标头对应的源文件

#include "pch.h"
#include <iostream>

using namespace std;
// 当使用预编译的头时,需要使用此源文件,编译才能成功。


void   hi() {
	std::cout << "Hello!  大家好";
}

//下面是我配置过的pcl  大家可以注释掉
//如果你没有配置pcl  把下面的全部删掉就可以了
//主要  演示   有参的函数 
#include <pcl/io/pcd_io.h>

void   cl(const char dir[]) {
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
    pcl::io::loadPCDFile<pcl::PointXYZ>(dir, *cloud);

    double distance = 0;
    double shu = 0;
    for (int nIndex = 1; nIndex < cloud->points.size(); nIndex++)
    {


        int indexZ = nIndex - 1;
        shu = sqrt(abs(cloud->points[nIndex].x - cloud->points[indexZ].x) * abs(cloud->points[nIndex].x - cloud->points[indexZ].x) + abs(cloud->points[nIndex].y - cloud->points[indexZ].y) * abs(cloud->points[nIndex].y - cloud->points[indexZ].y));
        distance += shu; indexZ++;
    }

     std::cout << "测量值为(m):" << distance << std::endl;
}

写完以后  要去pch.h   去声明   其他  不用改动

extern "C" __declspec(dllexport) void cl(const char dir[]);

 注意   在    release   x64     运行

 出现这个 

                                     直接确定    不用管

进入  刚才 文件夹  在打开    vs2019   找 这个c++   空项目

 

                                右键

 把这2个   复制  到     第二次  新建的项目里面
  

右键 属性  release| x64

 

 1和2  名字要一样 

 在  main.cpp  写入掉用dll代码

//修改后的代码
#pragma once
#pragma comment(lib,"js.lib")

#include <iostream>
using namespace std;
extern "C" __declspec(dllimport) void hi();
//如果没有配置删掉下面这行
extern "C" __declspec(dllimport) void cl(const char dir[]);




int main()
{
	hi();
	
	//如果没有配置删掉下面这行
	cl("C:\\Users\\len\\Desktop\\9.pcd");


	return 0;
}

                                                        注意细节

                    成功了  ,一定要 注意细心

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐