当前位置: 首页 > news >正文

网站设计美工要怎么做盘多多网盘搜索

网站设计美工要怎么做,盘多多网盘搜索,必应网站收录在哪,公司商标注册流程及费用目录 0.环境 1.问题简述 2.分析报错原因 3.解决方法 1)set() 相关语句 2)target_link_libraries() 相关语句 4.参考 0.环境 windows11 、 vs-code 、 qt 、 c、编译器为vs2019-x86_amd64 1.问题简述 项目编译release版本时会报错:报错…

目录

0.环境

1.问题简述

2.分析报错原因

3.解决方法

1)set() 相关语句

4.参考


0.环境

windows11 、 vs-code 、 qt 、 c++、编译器为vs2019-x86_amd64

1.问题简述

项目编译release版本时会报错:报错的库叫【logDll】

[build] main.obj : error LNK2019: 无法解析的外部符号 "public: static class LogDll * __cdecl LogDll::Getlog4qt(void)" (?Getlog4qt@LogDll@@SAPEAV1@XZ),函数 main 中引用了该符号 [D:\work\POCT-gitee\poct-packageAll\poct\build\qPCRAnalyser\qPCRAnalyser.vcxproj]
[build] main.obj : error LNK2019: 无法解析的外部符号 "public: bool __cdecl LogDll::InitLog(class QString const &)" (?InitLog@LogDll@@QEAA_NAEBVQString@@@Z),函数 main 中引用了该符号 [D:\work\POCT-gitee\poct-packageAll\poct\build\qPCRAnalyser\qPCRAnalyser.vcxproj]
[build] main.obj : error LNK2019: 无法解析的外部符号 "public: static void __cdecl LogDll::debug(class QString const &,char const *,int,class QString)" (?debug@LogDll@@SAXAEBVQString@@PEBDHV2@@Z),函数 main 中引用了该符号 [D:\work\POCT-gitee\poct-packageAll\poct\build\qPCRAnalyser\qPCRAnalyser.vcxproj]

2.分析报错原因

由于缺少正确的库链接或者路径设置不正确所导致

3.解决方法

在对应的【CMakelists.txt】中加入对应的库链接代码

我一共加了两句对应的代码

1)set() 相关语句

set(Log4Qt_LIBRARIES_DIR ${Log4Qt_LIBRARIES_DIR} "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}")
  • 在CMakeLists.txt文件中,set命令用于设置一个变量的值。在这个特定的语句中,Log4Qt_LIBRARIES_DIR变量被设置为${Log4Qt_LIBRARIES_DIR}和"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}"的组合。
  • ${Log4Qt_LIBRARIES_DIR}是一个预定义的变量,它的值是之前已经设置过的Log4Qt_LIBRARIES_DIR变量的值(如果有的话)。这种语法${variable_name}表示引用另一个变量的值。
  • "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}"是一个路径字符串的拼接,其中CMAKE_LIBRARY_OUTPUT_DIRECTORY是CMake内置变量,表示生成库文件的输出目录,而${config}可能是一个用户定义的变量,表示配置名称(例如Debug、Release等)。
  • 所以,这个语句的作用是将${Log4Qt_LIBRARIES_DIR}的值与"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}"拼接成一个新的路径,并将结果保存在Log4Qt_LIBRARIES_DIR变量中。
  • 这样做的目的可能是为了设置一个特定配置下的库文件目录路径。通过设置Log4Qt_LIBRARIES_DIR变量的值,可以在后续的构建过程中使用这个路径来链接或安装库文件。
target_link_libraries(${PROJECT_NAME} PRIVATE debug logDll_d optimized debug logDll)
  • 在CMakeLists.txt文件中,target_link_libraries命令用于为目标(target)添加链接库。${PROJECT_NAME}是一个预定义的变量,它保存了当前项目的名称。
  • 这个语句表示将名为logDll的库文件链接到${PROJECT_NAME}目标中。PUBLIC关键字表示将链接库作为target_link_libraries命令的一部分公开指定,同时还将该链接库添加到${PROJECT_NAME}目标的接口中,以便后续的目标可以链接此库。
  • 在链接过程中,如果${PROJECT_NAME}目标使用了logDll库文件中的函数或变量,那么该库文件就会被自动链接到${PROJECT_NAME}目标中,从而使得${PROJECT_NAME}目标可以正常编译和运行。
  • 总之,target_link_libraries(${PROJECT_NAME} PUBLIC logDll)的作用是将logDll库文件链接到当前项目中,并使得该库文件对外可见,以便其它依赖于该库的目标可以链接它。

添加之后,报错解决,我也是在网上找了很久没找到解决方式,请教了项目组的大神后解决的,特此分享

4.参考

微软官方给出的LNK2019的可能原因是:

有多种方法会造成此错误。 所有这些方法都涉及引用链接器无法解析或无法查找其定义的函数或变量。 编译器可以识别未声明符号的情况,但无法判断未定义符号的情况。 这是因为定义可能位于不同的源文件或库中。 如果引用了未定义的符号,链接器会生成未解析的外部 (external) 符号错误。

也分析了一些导致 LNK2019 的常见问题,具体详见链接:

链接器工具错误 LNK2019 | Microsoft Learn

--END--

http://www.ds6.com.cn/news/80565.html

相关文章:

  • 安塞网站建设在线seo优化工具
  • 好的响应式网站有哪些品牌推广与传播方案
  • 二手房交易税费重庆seo网站系统
  • 页面设计属于作品登记的哪个类别商丘seo
  • 做网站制作挣钱吗营销型网站策划方案
  • 做网站如何获利亚马逊关键词搜索工具
  • 长沙专业竞价优化公司seo和sem的概念
  • 网站默认图片优化百度seo技术搜索引擎
  • 网站建设开发工具营销思路八大要点
  • php网站开发实例代码站长工具无忧
  • 用网站做宣传的费用长沙整站优化
  • 筑云网站投诉网络推广方式方法
  • 绍兴企业做网站龙岩seo
  • 什么做电子书下载网站百度网盘资源搜索入口
  • 制作微信网页长沙seo行者seo09
  • 局域网wordpress建站百度竞价渠道代理商
  • 开发 网站 团队企业网站推广公司
  • 企信网企业信用信息系统贵州南昌seo
  • bt网站建设微信朋友圈广告投放收费标准
  • 如何来做网站怎么建网站教程图解
  • 学做饺子馅上那个网站郑州今天刚刚发生的新闻
  • 关于电子商务的网站推广方案高手优化网站
  • 织梦的手机端网站培训学校加盟费用
  • 购物网站建设需要公司营业执照吗百度收录接口
  • 深圳南山网站建设公司小蝌蚪幸福宝入口导航
  • 靠谱的代做毕业设计网站seo的概念
  • pc网站做移动适配链接买卖
  • 免费网站管理软件西安seo服务外包
  • wordpress链接分类目录济源新站seo关键词排名推广
  • 专业app开发长沙优化科技有限公司