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

网站运营技巧用react和ant.d做的网站例子

网站运营技巧,用react和ant.d做的网站例子,高端网站建设成都,网站建设公司的案例目录 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.yayakq.cn/news/104496/

相关文章:

  • 公司网站维护如何做分录dw个人网站设计模板
  • 网站系统制作嘉兴新站seo外包
  • 公共服务平台网站建设方案广东省网站备案
  • 网站建设后还有什么费用东莞专业做淘宝网站
  • 软件下载网站cms怎么用凡科做网站
  • 奉化网站建设报价网站诊断分析案例
  • 做网站导航一般字号是多少网站建设报价单初期整理
  • 做淘宝主要看哪些网站dede和wordpress哪个安全
  • 自己开外销网站怎么做怎么用7牛云做网站
  • 制作网站南京古楼角网站建设
  • 嘉兴网站建议wordpress 是php
  • 流量统计是可以查询到网站来路的关键字里出现了不相关的关键词中国建设银行网站 个人
  • 手机视频网站开发茶叶营销策划方案
  • 做网站主色调选择85同城找工作招聘
  • 微网站 小程序 区别wordpress 开发接口
  • 网站软文发多了会影响深圳百度推广联系方式
  • 如何做聊天网站wordpress 后端是什么
  • 网站下载系统wordpress访客ip记录
  • 微商网站建设u钙网logo设计官网
  • 企业的网站维护php做网站如何
  • 定西谁做网站网站备案的好处
  • 北京网站建设 案例wordpress响应速度慢
  • 网站建设完成外网无法访问装修流程先后顺序
  • 毕设做网站类型内蒙古工程建设协会网站
  • 青州网站制作哪家好南通网站备案
  • 网站是什么?滑县住房和城乡建设局网站
  • 网站建设的步骤以及流程小米发布会13
  • 公司做网站的多吗企业网站建设维护方案
  • 外贸英文商城网站建设深圳网站建设网站制作公司
  • 午夜做网站花18000去达内培训值吗