[转载]CloudCompare中inline函数重定义问题

https://blog.csdn.net/sk609_king/article/details/96995020

QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: “public: static bool __cdecl ccLog::Print(class QString const &)” (?Print@ccLog@@SA_NABVQString@@@Z) 已经在 ccPluginManager.obj 中定义
QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: “public: static bool __cdecl ccLog::Warning(class QString const &)” (?Warning@ccLog@@SA_NABVQString@@@Z) 已经在 ccPluginManager.obj 中定义
QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: "public: bool __thiscall ccObject::isKindOf(__int64)const " (?isKindOf@ccObject@@QBE_N_J@Z) 已经在 ccviewertest.obj 中定义
QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: "public: bool __thiscall ccObject::isA(__int64)const " (?isA@ccObject@@QBE_N_J@Z) 已经在 ccviewertest.obj 中定义
QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: "public: unsigned int __thiscall ccHObject::getChildrenNumber(void)const " (?getChildrenNumber@ccHObject@@QBEIXZ) 已经在 ccviewertest.obj 中定义
QCC_DB_LIBd.lib(QCC_DB_LIBd.dll):-1 : error: LNK2005: "public: class ccHObject * __thiscall ccHObject::getChild(unsigned int)const " (?getChild@ccHObject@@QBEPAV1@I@Z) 已经在 ccviewertest.obj 中定义
使用CloudCompare库CC_CORE_LIB,QCC_DB_LIB,QCC_IO_LIB进行二次开发时,在Debug模式下由于/Ob0条件使得大量在头文件中的inline函数没有被优化展开,链接时出现重定义错误(symbol redefined error),使用/Ob1依然无济于事,经过多次调试,发现应在预处理器中加入以下三条定义:
CC_USE_AS_DLL
QCC_DB_USE_AS_DLL
QCC_IO_USE_AS_DLL

 

 

---------------------------------------------------------------------

VS2015下打开.ui文件 Qt Designer闪退问题

打开工具——选项对话框

 

 

 

posted @   太一吾鱼水  阅读(86)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
历史上的今天:
2013-05-03 Word2010利用公式编辑器实现公式“显示”“居中”公式编号右对齐
点击右上角即可分享
微信分享提示