Visual studio编写动态库遇到的问题

文章讲述了在VisualStudio2019中遇到的编译动态库cpp函数时的两个错误:C2653和C2857。错误C2653涉及到类或命名空间未被识别,通过修改预编译头设置解决了问题;错误C2857是因为头文件包含不正确。修复这两个错误后成功生成了.lib和.dll文件,但在运行时遇到.dll无效的问题,通过将opencv的dll文件复制到系统目录下得以解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.动态库cpp函数编写好以后,生成时报错:C2653    “XXXX”: 不是类或命名空间名称 , 需要修改项目属性->预编译头->创建(/Yc),详见下面的网址(8条消息) VS2019 提示错误:C2653 不是类或命名空间名称_CQQ1021114542的博客-优快云博客

2. 继续重新生成报错 C2857    在源文件中没有找到用 /Ycpch.h 命令行选项指定的“#include”语句 我这里报错的原因是自己编写的头文件中添加了#include "pch.h",应该是只需要.cpp文件中添加此头文件的引用(#include "pch.h")就可以。其它报错可以参考下面的链接解决(8条消息) C2857 在源文件中没有找到用 /Ycpch.h 命令行选项指定的“#include”语句_error c2857_LBBDSPZ的博客-优快云博客

3. 重新生成不再报错,且有XX.lib ,   XX.dll动态库生成,编程测试项目程序调用自定义库中的函数,提示  运行提示.dll不是有效的win32应用程序,这里我是通过将测试项目设为启动项目解决

4. 再次重新运行,提示 由于找不到opencv_world410d.dll,无法执行代码,这里通过下面的方法解决(将 opencv 安装路径 目录\opencv\build\x64\vc15\bin 中 3 个后缀是.dll 的应用程序扩展复制到 C:\Windows\System32 中)

(8条消息) 成功解决 由于找不到opencv_world410d.dll,无法执行代码,重新安装程序可能会解决此问题_由于找不到opencv_world452d.dll_黎曼不会算积分的博客-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值