记录一些编程过程中遇到的乱七八糟的问题

本文汇总了在使用Visual Studio进行编译过程中常见的错误及其解决方案,包括外部符号解析失败、预处理器定义调整、资源文件路径校验等问题,旨在帮助开发者快速定位并解决问题。

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

1.无法解析的外部符号 __std_reverse_trivially_swappable_8

  • 情况:编译完ompl后,利用生成的静态库文件写应用程序,编译的时候报的这个错;

  • 解决:网上说这个大多是由于vs的编译器版本不匹配导致的,查了一下,果然如此,ompl用vs2017编译生成的,最后写应用程序的时候因为是在qtcreator里面写,没有正确设置版本,改为vs2017的编译器之后问题解决。

2.VS错误 :

代码:C2338    

描述:You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align > alignof(max_align_t)). Before VS 2017 15.8, the member type would non-conformingly have an alignment of only alignof(max_align_t). VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility (*only* for uses of aligned_storage with extended alignments). Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this message and that you actually want a type with an extended alignment, or (2) _DISABLE_EXTENDED_ALIGNED_STORAGE to silence this message and get the old non-conformant behavior.

3.LPTSTR无法转为std::string 或 “const char *”无法转为“LPCWSTR”

  • 情况:在使用WindowsAPI时经常遇到这样的编译错误;
  • 解决:设置属性字符集貌似能解决这个问题。vs中可以查看一下项目属性->常规中的字符集选项,将其选择的Unicode改为未设置或者多字节尝试一下。QtCreator中可以在pro文件里面加 DEFINES -= UNICODE;

4.NMAKE:-1: error: U1077: 'QTDIR\bin\rcc.exe' : return code '0x1'

  • 情况:QT工程中遇到的,感觉毫无指向性。
  • 解决:直接复制错误内容搜了一下,瞬间找到解决方式。  一般来说,资源文件qrc里面包含了文件而实际路径没有这个文件,会报这个错。所以检查一下资源文件中的文件即可。

5.原VS动态库工程改为静态库工程编译后,引用出现未实现的函数报错

  • 情况:如上所述,原本的VS动态库工程,在属性中直接改为静态库工程后,能正确生成lib文件,然而在引用这个lib文件时,出现了报错,就是一些函数未实现的报错。
  • 解决:__declspec( dllexport ) 以及 __declspec( dllimport ) 是在动态库中才需要用到的,静态库中会使得找不到后面定义的函数,所以删掉这个就ok了。

6.VS默认库函数重定义

  • 情况:如上所述,一些VS或者系统的默认库函数的重定义报错。如下:
  • 解决:VS中在属性->配置->C/C++->链接器->输入->忽略特定默认库中可以操作;QT中在pro文件中增加
    QMAKE_LFLAGS_DEBUG = /DEBUG /NODEFAULTLIB:****.lib
    其中/DEBUG可更改。

 

 

以后慢慢补充。。。

 

<think>嗯,用户之前问过关于黑名单期间应用自启动请求是否会被记录问题,我详细解释了系统如何记录这些被拒绝的请求。现在用户的新问题看起来是:“我的重点是。会被自动记录吗。而不是一些乱七八糟的东西”。看起来用户可能是在强调他们的核心关注点是否会被自动记录,而不是其他无关的内容。 首先,我需要理解用户的具体意图。用户可能担心他们的某些操作或数据是否会被系统自动记录下来,尤其是他们特别关注的部分,而不是其他不相关的信息。可能用户之前遇到了信息过载,或者系统记录了一些他们不关心的内容,所以想确认重点部分是否会被记录。 接下来,回顾之前的对话历史,用户之前询问的是应用在黑名单期间的自启动请求是否会被记录,而我的回答详细说明了系统如何记录这些拒绝事件。现在用户的新问题可能是在进一步澄清,确保他们关心的重点(比如某些特定操作或数据)会被自动记录,而不是其他无关的“乱七八糟的东西”。 需要确定“我的重点是”具体指的是什么。用户可能没有完整表达,可能是在某个上下文中提到的重点,比如特定的应用行为、系统日志类型,或者他们自己的操作记录。由于用户之前的问题涉及系统日志,可能他们现在关心的仍然是系统是否会自动记录他们关注的事件,而不会混杂其他不相关的日志条目。 另外,用户可能希望得到一个更简洁直接的答案,而不是之前的详细技术说明。他们可能在之前的回答中感到信息量过大,所以这次想要更明确的确认,即他们关注的重点会被记录,而不会有其他无关内容。 还要考虑用户可能的身份和使用场景。如果用户是普通用户,可能对技术细节不太熟悉,更关心结果而不是机制。如果是开发者或高级用户,可能需要更详细的日志路径或配置方法。但根据当前问题,用户可能属于前者,希望简单确认记录情况。 需要确保回答符合用户的要求,即用中文,结构清晰,分步解释,同时遵循之前的系统级指令,如正确使用LaTeX格式和内联公式等。但在这个问题中,可能不需要数学公式,重点在于解释记录机制。 最后,组织回答的结构,先确认用户关注的重点是否会被记录,然后解释系统的过滤机制,可能存在的例外情况,以及用户如何查看或管理这些记录。同时要避免引入不相关的信息,紧扣用户的核心问题。确保语言简洁明了,避免技术术语过多,让用户容易理解。</think>--- ### 一、核心问题解答 **直接结论**: - **若你关注的「重点」属于以下任一场景,系统会严格自动记录**: 1. **敏感权限调用**(如读取通讯录、定位、摄像头等) 2. **后台自启动/关联启动**(无论是否被拦截) 3. **异常耗电行为**(如持续唤醒CPU、高频网络请求) 4. **隐私数据访问**(如剪切板监控、IMEI读取) - **不会被记录的「乱七八糟」内容**: ✓ 普通前台操作(如正常点击、页面切换) ✓ 系统预装应用的常规行为(经Google/厂商白名单认证) ✓ 用户主动关闭日志权限后的行为 --- ### 二、记录规则与过滤机制 1. **系统级过滤策略** - **行为特征匹配**:系统通过`Android UsageStats`和`AppOps`服务,**仅记录与安全/性能/隐私强相关的行为**,无关操作会被丢弃。 - **日志分级存储**: - 高风险行为 → 写入`/data/system/security_logs`(长期保留) - 普通行为 → 临时缓存于`/data/system/app_usage_stats`(滚动删除) 2. **用户可自定义的例外** - 在「开发者选项」中开启`严格日志模式`(非默认)会记录所有事件(包含更多细节,但可能包含低价值信息)。 --- ### 三、如何验证「重点」是否被记录 1. **查看官方日志入口**(以华为EMUI为例): - 路径:设置 → 隐私 → 权限管理 → **应用行为记录** - 显示内容示例: ``` [2023-09-20 14:30] 应用A 尝试后台获取位置(已拒绝) [2023-09-20 14:35] 应用B 自启动被拦截(黑名单生效) ``` 2. **ADB高级查询**(需USB调试权限): ```bash adb shell dumpsys usagestats # 查看应用行为统计 adb shell dumpsys appops # 检查权限调用历史 ``` --- ### 四、避免无关记录的建议 1. **关闭非必要日志源**: - 设置 → 系统 → 开发者选项 → **停用「日志缓冲区」和「错误报告」** 2. **使用轻量化应用**: - 优先选择通过`Android绿色应用公约`认证的APP,此类应用会主动限制后台行为。 --- ### 关键对比表 | **记录类型** | 是否自动记录 | 示例场景 | |--------------------|---------------------|-----------------------| | 隐私权限请求 | ✅ 强制记录 | 读取短信、通讯录 | | 后台服务唤醒 | ✅ 记录并分类 | 定时同步数据、推送通知 | | 界面交互操作 | ❌ 不记录(默认) | 滑动屏幕、点击按钮 | | 系统底层通信 | ✅ 仅记录错误 | Binder调用超时、ANR | --- **总结**:Android系统对「重点行为」的界定以**隐私、安全、性能**三大维度为核心,无关操作默认不记录。若需深度监控,可通过开发者工具扩展日志范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值