当前位置: 首页 > 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.khdw.cn/news/20113.html

相关文章:

  • 盱眙网站制作武汉网站推广排名
  • 南通专业网站排名推广广告推广平台赚取佣金
  • 代理服务网站网络营销概念是什么
  • 暖通毕业设计代做网站百度竞价推广代运营
  • 镇江集团网站建设求好用的seo软件
  • 中国人在俄罗斯做网站需要多少卢布网络营销所学课程
  • c2c网站名称和网址全球新冠疫情最新消息
  • 漯河做网站zrgu整站优化代理
  • 东莞公司网站价格网站关键词排名快速提升
  • wordpress搜索收录谷歌优化的网络公司
  • 永久网站建设教程网站推广公司电话
  • 个人网站怎么做引流营销方案怎么写?
  • 网站模板 家武汉大学人民医院光谷院区
  • 免费的效果图设计软件天津seo招聘
  • 一个网站的建设要经过哪几个阶段国内网络营销公司排名
  • 多点网络网站制作系统百度推广客户端登录
  • 网站html地图模板广州最新消息
  • 建设银行网站会员用户名格式网络营销软件下载
  • 一级a做爰片_相关网站好用搜索引擎排名
  • 漳州网站建设哪家最权威产品推广
  • 商业活动的网站建设市场营销策划方案案例
  • 网站建设违约合同服务外包公司
  • 怎么导入网站源码网络销售平台有哪些
  • 产品单页设计模板独立站seo建站系统
  • wordpress多域名多站点培训方案
  • 世界著名产品设计作品seo优化排名是什么
  • 做五金的有哪些外贸网站重庆seo技术分享
  • 永康做网站的网站seo
  • 如何用快站做pc端网站企业网站建设方案策划
  • 台州品牌网站建设最近三天的新闻大事小学生