warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略

news2024/11/27 9:37:40

文章目录

    • warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略
    • 概述
    • 笔记
    • 备注
    • END

warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略

概述

基于ATL的COM DLL导出函数,无法用__declspec(dllexport)直接在函数上标记为导出函数。
只能用.def加入工程配置中。
在这里插入图片描述
原始工程是VC6的。

; server.def
; defined interface to export

LIBRARY "SERVER"

; warning LNK4017: DESCRIPTION 语句不支持目标平台;已忽略
DESCRIPTION "server.dll"

EXPORTS
	DllGetClassObject PRIVATE
	DllCanUnloadNow PRIVATE
	DllRegisterServer PRIVATE
	DllUnregisterServer PRIVATE

现在用VS2019编译, 工具链降到VS2013都有这个警告。
查了一下,大家都说注释掉DESCRIPTION那行就行。试了一下,确实可以。
但是,为啥呢?
难道新版VS的编译器已经不支持.def文件中的DESCRIPTION关键字了么?
查了一下,果真如此。

笔记

https://learn.microsoft.com/zh-cn/cpp/build/reference/module-definition-dot-def-files?view=msvc-140
在这里插入图片描述

https://learn.microsoft.com/zh-cn/cpp/build/exporting-from-a-dll-using-def-files?view=msvc-140
微软给的例子,已经不用DESCRIPTION作为关键字了。
在这里插入图片描述
对于新版VS(>= vs2013)来说, DESCRIPTION只是保留字,不是关键字。
https://learn.microsoft.com/zh-cn/cpp/build/reference/reserved-words?view=msvc-140
在这里插入图片描述

备注

现在msdn上的帮助,只从VS2015开始。
旧版的VS已经查不到对应资料了。

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1825792.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …

Linux基础命令[29]-chown

文章目录 1. chown 命令说明2. chown 命令语法3. chown 命令示例3.1 修改属主3.2 修改属组3.3 修改属主和属组3.4 修改文件夹所属 4. 总结 1. chown 命令说明 chown:更改文件的用户或用户组,需要 root 用户或 sudo 权限的用户执行该命令。基本信息如下&…

Elixir学习笔记——模块属性

Elixir 中的模块属性有三个用途: 1.作为模块和函数注释 2.作为编译期间使用的临时模块存储 3.作为编译时常量 让我们检查一下这些示例。 作为注释 Elixir 引入了 Erlang 中的模块属性概念。例如: 在上面的例子中,我们使用模块属性语法定义…

使用GNU Gcov Lcov生成C++单元测试代码覆盖率报告

最近在统计C项目代码的单元测试覆盖率 发现通过gcov和lcov就能将代码单元测试覆盖率定量化和可视化 下面是基于gtest测试框架,对gcov和lcov生成覆盖率的简单示例 工作流程 主要有三个步骤 向GCC编译添加特殊的编译选项以生成可执行文件和*.gcno 运行&#xff08…

Vue3 生命周期函数及其与Vue2的对比总结

Vue3 继续保留了 Vue2 的生命周期钩子,但在 Composition API(setup 函数)中,它们被改为了一组导入函数。以下是它们的对比: Vue2 生命周期钩子和 Vue3 对应的生命周期函数: 在 Vue3 中,所有的…

TJA1145休眠唤醒调试

目录 项目场景:TJA1145引脚图问题描述SPI链路验证休眠唤醒休眠唤醒配置唤醒报文配置代码相关寄存器:模式寄存器使能CAN唤醒设置唤醒边沿检测事件状态及捕获寄存器CANFD报文不会被识别为有效的唤醒帧项目场景: 最近开发过程中,选择了这颗芯片,踩了很多坑,总算是把这个芯片…

【C语言】解决C语言报错:Undefined Reference

文章目录 简介什么是Undefined ReferenceUndefined Reference的常见原因如何检测和调试Undefined Reference解决Undefined Reference的最佳实践详细实例解析示例1:缺少函数定义示例2:函数声明和定义不匹配示例3:未链接必要的库示例4&#xff…

UWB技术定位系统源码,智慧工厂人员定位系统,独特的射频处理,配合先进的位置算法

UWB技术定位系统源码,高精度人员定位系统源码,智慧工厂人员定位系统源码,室内定位系统源码 本套系统运用UWB定位技术,开发的高精度人员定位系统,通过独特的射频处理,配合先进的位置算法,可以有…

人工智能在风险管理中的创新之路

随着科技的飞速发展,人工智能(AI)已经渗透到我们生活的方方面面,尤其在风险管理领域,其展现出的巨大潜力令人瞩目。风险管理,作为一个涉及广泛领域的复杂系统,正逐渐依赖于AI技术来提升效率和准…

Linux文件系统【真的很详细】

目录 一.认识磁盘 1.1磁盘的物理结构 1.2磁盘的存储结构 1.3磁盘的逻辑存储结构 二.理解文件系统 2.1如何管理磁盘 2.2如何在磁盘中找到文件 2.3关于文件名 哈喽,大家好。今天我们学习文件系统,我们之前在Linux基础IO中研究的是进程和被打开文件…

将Jar用三种方式生成Windows的安装程序

无论是WEB(spring boot)的JAR,还是JavaFX以及swing的Jar,要生成windows方式。 打包成Windows可执行文件(.exe),你可以使用以下三种方法: ### 方法1:使用Inno Setup 1. **构建JavaFX应用程序**: 使用M…

自制一个Linux live固件镜像ISO可引导系统

使用母盘镜像制作两个虚拟,来制作一个包含基本需求的filesystem.squashfs文件,具体看下面的链接 使用的安装镜像 是Linux Mint 制作好的成品 https://cloud.189.cn/t/U32Mvi7FnyA3 (访问码:2nbo) 最简单制作LIVE CD…

ChatGPT魔法背后的原理:如何做到词语接龙式输出?

介绍 我们都知道 ChatGPT 是 AIGC 工具,其实就是生成式人工智能。大家有没有想过这些问题 🤔️: 1、我们输入一段话,就可以看见它*噼里啪啦的一顿输出*,那么它的原理到底是什么? 2、到底它是怎么锁定这些…

【Prometheus】Prometheus的k8s部署

Kubernetes 集群部署 Prometheus 和 Grafana //实验环境 控制节点/master01 192.168.67.30 工作节点/node01 192.168.67.12 工作节点/node02 192.168.67.13 //node-exporter 安装 #创建监控 namespace kubectl create ns monitor-sa #部署 nod…

Java—装饰器模式

介绍 装饰器模式 装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地将行为添加到现有的对象中,而无需修改其代码。装饰器模式提供了比继承更灵活的功能扩展方式。 主要角色 Component:定义一个对…

【数据的增值之路】全生命周期的数据演化过程

引言:随着云计算、大数据、人工智能、区块链等新一代信息技术的快速发展,数据已经成为推动经济增长的重要生产要素。数据量的爆炸式增长,为挖掘数据价值、推动数字经济发展提供了丰富的资源基础。重要概念解析: 数据经济&#xf…

[图解]建模相关的基础知识-09

1 00:00:01,350 --> 00:00:03,780 首先,我们来看一下什么叫关系 2 00:00:05,370 --> 00:00:08,990 这个关系跟下面说的这些关系 3 00:00:09,000 --> 00:00:10,390 它不是一个东西 4 00:00:11,110 --> 00:00:14,950 比如说,我们UML类图上&…

【因果推断python】36_断点回归2

目录 RDD 估计 内核加权 RDD 估计 RDD 依赖的关键假设是阈值处潜在结果的平滑性。用比较正式地表述来说,当运行变量从右侧和左侧接近阈值时,潜在结果的极限应该是相同的。 如果这是真的,我们可以在阈值处找到因果关系 从其本身意义来说&…

RocketMQ源码学习笔记:源码启动NameServer,Broker

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview2、NameServer2.1、源码启动NameServer 3、Broker启动过程 1、Overview 这篇文章的源码的版本是release-4.9.8。在启动各个模块之前应该先对项目进行打包mvn install -Dmaven.te…

大数据实训项目(小麦种子)-04、大数据实训项目JavaWeb环境搭建

文章目录 前言运行前准备工作1、安装Hadoop3.1.0配置winutils原因描述配置方式注意点(hadoop.dll拷贝System32目录下) 2、hive运行报错(The dir: /tmp/hive on HDFS should be writable. ) 项目环境搭建参考资料 前言 博主介绍&a…