QT-Mac:使用阿里云OSS sdk,在Mac OS10.13版本上运行崩溃

1.问题现象:

  使用阿里云OSS SDK来上传图片,在MacOS 10.14,10.15等平台上都能正常工作,但是在10.13版本上发现异常崩溃,奔溃日志如下:

  

Process:               Exam_Client [24258]
Path:                  /Applications/Exam_Client.app/Contents/MacOS/Exam_Client
Identifier:            com.ats.examclient
Version:               4.0.1 (4.0.1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Exam_Client [24258]
User ID:               501

Date/Time:             2021-01-19 11:04:52.186 +0800
OS Version:            Mac OS X 10.13.6 (17G14042)
Report Version:        12
Bridge OS Version:     3.0 (14Y901)
Anonymous UUID:        78496B48-3A4B-38AA-A4EA-34D632A3414C

Sleep/Wake UUID:       9487B19A-C280-4B75-95DE-00F774AB7FE6

Time Awake Since Boot: 250000 seconds
Time Since Wake:       4300 seconds

System Integrity Protection: enabled

Crashed Thread:        0  CrBrowserMain  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x4] Symbol missing

Dyld Error Message:
  Symbol not found: ____chkstk_darwin
  Referenced from: /Applications/Exam_Client.app/Contents/MacOS/Exam_Client
  Expected in: /usr/lib/libSystem.B.dylib 

 2.问题定位

  通过查看程序运行日志,发现当运行到上传图片时,程序崩溃退出,判断是使用的oss的库可能不支持10.13平台

   3.问题解决

  重现编译阿里云oss sdk,按照阿里云OSS SDK安装文档下载sdk源代码,重点在于编译时需要指定一下库支持的平台,我们在aliyun-oss-cpp-sdk目录下找到CMakeLists.txt文件,打开并编辑它,在设置第一个project之前添加如下一行:

  set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "Minimum OS X deployment version")

      然后按照编译说明 执行 CMake 和make指令即可。

原文地址:https://www.cnblogs.com/chyshx/p/14301301.html