在工作目录下新建文件夹 DllImportTest  ,作为解决方案所在目录

新建项目动态链接库(DLL)项目 DllDemo

位置  指定到 上面新建文件夹 DllImportTest 所在的路径,解决方案名称 DllImportTest

在解决方案目录下新建 Include,Lib,Output目录

其中 Include 目录用于保存.h 文件,Lib目录用于保存lib 文件,Output 目录用于保存 dll 和 exe文件

在 Include  目录下新建 TestMethod.h  将其添加到 DllDemo 的头文件目录

内容如下:

#pragma once

#include <iostream>

extern "C" __declspec(dllexport) void SayHello();

DllDemo 属性 –> C/C++ -> 常规   ->  附加包含目录 添加   ..\Include             属性页中确定 配置为 "所有配置"

在源文件目录新建TestMethod.cpp

内容如下:

#include "pch.h"

#include "TestMethod.h"

void SayHello()

{

std::cout << "abc" << std::endl;

}

生成项目,此时默认会在解决方案下的Debug 目录下生成  dll, lib, pdb 文件

DllDemo 属性 ->链接器->常规       (dll 输出配置)

输出文件 设置为 $(OutDir)..\Output\$(TargetName)$(TargetExt)

DllDemo 属性 ->链接器->调试        (pdb 输出配置)

生成程序数据库文件 设置为 $(OutDir)..\Output\$(TargetName).pdb

DllDemo 属性 ->链接器->高级         (lib 输出配置)

导入库 设置为  $(OutDir)..\Lib\$(TargetName).lib

生成项目,此时 会在 Output 目录下生成 dll 文件,在 Lib目录下生成lib文件

新建控制台项目 HostDemo

引用 头文件和 lib文件

HostDemo 属性 –> C/C++ ->  常规   ->  附加包含目录 添加   ..\Include

HostDemo 属性 -> 链接器 –> 常规 -> 附加库目录  添加 ..\Lib

HostDemo 属性 -> 链接器 –> 输入 –> 附加依赖项  添加  DllDemo.lib

在 HostDemo.cpp 中 添加 #include "TestMethod.h" 和     SayHello();

内容如下:

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

int main()
{
SayHello();
std::cout << "Hello World!\n";
}

HostDemo属性 ->常规 –>输出目录 设置为 $(SolutionDir)$(Configuration)\..\Output\

生成程序

vs2019下 c++中 dll 的新建和引用步骤的更多相关文章

  1. 在vs2017和vs2019下发布应用之Windows程序打包-附图标修改和默认安装路径定义全教程

    title: 在vs2017和vs2019下发布应用之Windows程序打包-附图标修改和默认安装路径定义全教程 date: 2020-04-25 sidebarDepth: 2 tags: wind ...

  2. [原创]使用GCC创建 Windows NT 下的内核DLL

    原文链接:使用GCC创建 Windows NT 下的内核DLL 在温习<<Windows 2000 Driving>>分层驱动程序一章的时候,看到了关于紧耦合驱动连接方式,这种 ...

  3. Delphi中DLL的创建和使用(转)

    Delphi中DLL的创建和使用     1.DLL简介:   2.调用DLL:   3.创建DLL:   4.两个技巧:   5.初始化:   6.例外处理.            1.DLL简介  ...

  4. 解决Ubuntu下sublime中不能输入中文的问题

    解决Ubuntu下sublime中不能输入中文的问题 Ubuntu下安装sublime后,不能输入中文,而在其他软件中能正常输入,这是sublime的bug,解决方案是在通过shell在每次运行sub ...

  5. win2k,XP下用setupapi.dll自动安装Driver

    win2k,XP下用setupapi.dll自动安装Driver 在驱网看到54cndr 写的这篇文章,虽然自己一直都用Installshield,但还是觉得这个也是一个很好的思路,故摘录在此. 用s ...

  6. KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态

    KTHREAD 线程调度 SDT TEB SEH shellcode中DLL模块机制动态获取 <寒江独钓>内核学习笔记(5)   继续我们的线程相关的数据结构的学习.接下来我们学习 KTH ...

  7. 电脑中dll文件丢失怎么恢复?

    DLL文件是Windows系统中的动态链接文件,我们在运行程序时都必须链接到dll文件,如果缺少了则无法正常运行,相信大家都会遇到dll文件缺失的情况,那么电脑中dll文件丢失怎么恢复?下面装机之家分 ...

  8. 将自己的SpringBoot应用打包发布到Linux下Docker中

    目录 将自己的SpringBoot应用打包发布到Linux下Docker中 1. 环境介绍 2. 开始前的准备 2.1 开启docker远程连接 2.2 新建SpringBoot项目 3. 开始构建我 ...

  9. 在Visual Studio项目中根据系统平台自动引用32或64位的DLL

    最近在使用Noesis.Javascript.dll,但是这个DLL是有X86与X64二种版本的,我自己的电脑是64位的,但是别人的电脑是32位的.所以在别人那里使用的时候出了问题. 在VS里怎么引用 ...

  10. Linux的.a、.so和.o文件 windows下obj,lib,dll,exe的关系

    Linux的.a..so和.o文件 - chlele0105的专栏 - CSDN博客 https://blog.csdn.net/chlele0105/article/details/23691147 ...

随机推荐

  1. Note Taking App Comparison: Notesnook vs Joplin

    I have used many note-taking apps, including Notion, oneNotes, Obsidian, Sublime Text, etc. Here I w ...

  2. Django框架大全

    Django框架大全 django数据模型models中on_delete, db_constraint的使用 第一篇:Django简介 第二篇:Django之路由层 第三篇:Django之视图层 第 ...

  3. css3的的新特性

    1.transform 2.calc 3.transition

  4. Linux编辑器

    Vim 安装: yum install vim $ vim test.cnf  --打开文件 命令模式: i  --切换到输入模式,以输入字符 :  --切换到底线命令模式,以在最底一行输入命令 输入 ...

  5. vue中vue2-google-maps使用谷歌地图的基础操作

    小哥我最近使用谷歌地图做了一个项目,于是乎各种坑就扑面而来,未免下次接着踩坑特留下自己的爬坑记录. 首先我是没用过谷歌地图也不知道靠谱不靠谱,于是乎傻傻的入坑了, 1.首先你要是没有vpn(或者fq工 ...

  6. 只要引用这个js就会页面加载完毕自动弹出提示框

    IE浏览器不支持ES6语法, 此代码为翻译并修改过的,使用的bable网站翻译 (function (win) { // 生成遮罩和弹出层,返回弹出层DOM对象 var createMsgBox = ...

  7. 实验四 Web服务器2

    任务详情 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 服务 ...

  8. C# 变量和表达式

    变量的命名: 第一个字符必须是字母.下划线或@: 其后的字符可以是字母.下划线或数字. 注意:区分大小写. 变量的类型: 数值类型 1.整数类型 byte.short.int.long sbyte.u ...

  9. Blog-3

    前言 这几周的作业所涉及的知识点有数据的封装和.继承与多态.正则表达式,还有抽象类和接口,另外还有javafx的一些基本知识.题量适中,但是难度对于我来说是比较大的.总的来说就是跟以前的题目差不多,只 ...

  10. AI口算批改、练习小程序

    一个口算助手小程序,可以拍照批改作业,口算练习,专为家长辅导孩子学习打造的口算助手. 后端采用java开发   下载源码: http://market.zhenzikj.com/detail/132. ...