vs打包成dll,再调用。封装sdk

1、新建空项目test1,新建源文件test1.cpp。

#include <iostream>
#include<fstream>
#include <vector>
#include <sstream>
#include "test.h"

using namespace std;

vector<string> test() {
    vector<string> parameters;
    ifstream file("configure.txt");  // 打开txt文件

    if (file) {  // 检查文件是否成功打开
        string line;
        while (getline(file, line)) {  // 逐行读取文件内容
            parameters.push_back(line);
            cout << line << endl;
        }
        file.close();  // 关闭文件
    }
    else {
        std::cout << "无法打开文件" << std::endl;
    }
    return parameters;
    
}

2、新建头文件test1.h

#pragma once


#ifndef BUILD_STATIC
# if defined(TEST1_LIB)
#  define TESTSDK_EXPORT __declspec(dllexport)
# else
#  define TESTSDK_EXPORT __declspec(dllimport)
# endif
#else
# define TESTSDK_EXPORT
#endif

#include <vector>;
#include <string>;

using namespace std;
TESTSDK_EXPORT vector<string>  test();

3、test1修改属性页--》默认输出目录,配置类型改为动态库(.dll)

4、test1修改属性页--》c/c++预处理器定义,写上TEST1_LIB

5、生成、然后在输出目录会有文件产生

6、在解决方案添加新建项目--》空项目run,新建run.cpp

#include "test1.h"

int main(){
	test();
}

7、修改run的属性配置,附加包含目录为test1.h文件所在的路径

8、链接器--》附加库目录,是test1.lib所在路径,即3中的输出目录

9、链接器--》附加依赖项,添加test1.lib

10.上面配置完成,将run设置为启动项,调试会提示找不到test1.dll文件

两种方法解决:

  • 把test1.dll,test1.lib拷贝到run.exe,目录下,即run的输出目录

  • 将上图中的run的工作目录、输出目录和test1的输出目录保持一致,3和10的图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值