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

百度链接地址扬州抖音seo

百度链接地址,扬州抖音seo,签名在线生成器,什么是网站挂马之前笔者写过一篇博文ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器介绍了Ubuntu下使用官方发布的tar.xz包来安装Clang编译。官方发布的版本中也有MacOS版本的tar.xz#xff0c;那MacOS应该也是可以安装的。 笔者2015款MBP笔记本#xff0c;CPU是intel的#xff0c;出厂…之前笔者写过一篇博文ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器介绍了Ubuntu下使用官方发布的tar.xz包来安装Clang编译。官方发布的版本中也有MacOS版本的tar.xz那MacOS应该也是可以安装的。 笔者2015款MBP笔记本CPU是intel的出厂系统是MacOS10.12Sierra后面自己升级安装到10.13由于只有128G硬盘不能安装太新的系统 目前的Clang编译器是9.0__cplusplus版本是201406支持C14部分支持C17如果想使用新一点的C标准就需要更新编译器。 一、安装Clang编译器 LLVM官方在LLVM 15及之前是有出Intel版本的tar.xz安装包的后面有的版本没macOS版本的有的版本有macOS的但是是ARM CPU的后面19.0开始有macOS版本的了而且ARM与Intel的都有。 只可惜笔者的MBP系统太老不能安装最新版本的只能退而求其次安装LLVM 15.0.7而且有Intel CPU的x86_64版本 先下载clangllvm-15.0.7-x86_64-apple-darwin21.0.tar.xz 再使用下面的命令解压 tar -xf clangllvm-15.0.7-x86_64-apple-darwin21.0.tar.xz解压后可以将目录改名为llvm-15然后移动到/usr/local/目录下为了确保独立性不弄脏/usr/local/目录直接将整个llvm-15目录移动而不是移动llvm-15下的子目录。 然后在~/.bash_profile中设置PATH将/usr/local/llvm-15/bin添加到PATH变量中 export PATH/usr/local/llvm-15/bin:$PATH二、测试、使用 1.简单测试 添加好后新开一个终端进行简单测试测试clang没问题 $ clang -v clang version 15.0.7 Target: x86_64-apple-darwin17.7.0 Thread model: posix InstalledDir: /usr/local/llvm-15/bin但是测试lldb就报错了 $ lldb dyld: Library not loaded: rpath/liblldb.15.0.7.dylibReferenced from: /usr/local/llvm-15/bin/lldbReason: no suitable image found. Did find:/usr/local/llvm-15/bin/../lib/liblldb.15.0.7.dylib: cannot load liblldb.15.0.7.dylib (load command 0x80000034 is unknown)/usr/local/llvm-15/bin/../lib/liblldb.15.0.7.dylib: stat() failed with errno1 Abort trap: 6使用otool -l /usr/local/llvm-15/lib/liblldb.15.0.7.dylib指令查看 $ otool -l /usr/local/llvm-15/lib/liblldb.15.0.7.dylib /usr/local/llvm-15/lib/liblldb.15.0.7.dylib: Mach headermagic cputype cpusubtype caps filetype ncmds sizeofcmds flags0xfeedfacf 16777223 3 0x00 6 31 3400 0x00910085 Load command 0cmd LC_SEGMENT_64cmdsize 872segname __TEXTvmaddr 0x0000000000000000vmsize 0x00000000067c8000fileoff 0filesize 108822528maxprot 0x00000005initprot 0x00000005nsects 10flags 0x0 Sectionsectname __text……Load command 4cmd LC_ID_DYLIBcmdsize 56name rpath/liblldb.15.0.7.dylib (offset 24)time stamp 1 Thu Jan 1 08:00:01 1970current version 15.0.7 compatibility version 0.0.0 Load command 5cmd ?(0x80000034)cmdsize 16 Load command 6cmd ?(0x80000033)cmdsize 16 Load command 7cmd LC_SYMTABcmdsize 24symoff 119381816nsyms 180001stroff 122268616strsize 16367424 Load command 8cmd LC_DYSYMTAB发现还真是有未知命令cmd ?(0x80000034)cmd ?(0x80000033)暂时无法解决就还是使用系统自带的lldb吧。 2. 使用VSCode测试 只要设置好Clang的路径在PATH变量中打开VSCode重新扫描工具包即可搜索到新的Clang版本。 切换到Clang 15VSCode会自动重新执行CMake命令 [cmake] FAILED: cmTC_d20cb [cmake] : /usr/local/llvm-15/bin/clang -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_d20cb.dir/testCCompiler.c.o -o cmTC_d20cb : [cmake] ld: unknown option: -platform_version [cmake] clang-15: error: linker command failed with exit code 1 (use -v to see invocation) [cmake] ninja: build stopped: subcommand failed.无法正确执行CMakeCMake在编译简单的测试程序时无法通过。 ld: unknown option: -platform_version提示是ld找到不到参数原因是新版本的Clang编译器与系统的链接器ld不匹配需要使用Clang自己的链接器lld由于是CMake在测试编译器时报的错那就需要在它之前设置使用lld。 CMake中要设置链接器使用lld有两种方法 可以在cmake命令行参数中设置如下变量 CMAKE_EXE_LINKER_FLAGS设置可执行文件链接器的变量用法-DCMAKE_EXE_LINKER_FLAGS-fuse-ldlld注意大小写CMAKE_SHARED_LINKER_FLAGS设置动态链接库链接器的变量用法-DCMAKE_SHARED_LINKER_FLAGS-fuse-ldlldCMAKE_LINK_LIBRARY_FLAG设置静态链接库链接器的旗标用法-DCMAKE_LINK_LIBRARY_FLAG-fuse-ldlldCMAKE_LINKER_TYPE在3.29版本添加的新变量用法-DCMAKE_LINKER_TYPELLD注意LLD是大写 在VSCode中需要在settings.json配置文件中设置 cmake.configureArgs: [-DCMAKE_EXE_LINKER_FLAGS-fuse-ldlld,-DCMAKE_SHARED_LINKER_FLAGS-fuse-ldlld,-DCMAKE_LINK_LIBRARY_FLAG-fuse-ldlld,-DCMAKE_LINKER_TYPELLD // CMake3.29才能使用 ],在CMakeLists.txt中设置 如果是在CMakeLists.txt中设置一定要在最顶层的CMakeLists.txt中project命令之前设置 cmake_minimum_required(VERSION 3.25) set(CMAKE_EXE_LINKER_FLAGS -fuse-ldlld) set(CMAKE_SHARED_LINKER_FLAGS -fuse-ldlld) set(CMAKE_LINK_LIBRARY_FLAG -fuse-ldlld) set(CMAKE_LINKER_TYPE LLD) project(demo)编译链接都没问题了。 3. 使用QtCreator测试 笔者在MBP上安装的是QtCreator 5.03版本基于Qt5.15.2的 但Qt的SDK是5.14.2 可以先使用QtCreator的自动检测看是否能检测到Clang15如果不能手动添加 在Kits中克隆一个原来的配置将下面的C/C编译器设置为clang 15 并在CMake Configuration中添加如下配置 CMAKE_EXE_LINKER_FLAGS:STRING-fuse-ldlld CMAKE_LINK_LIBRARY_FLAG:STRING-fuse-ldlld CMAKE_SHARED_LINKER_FLAGS:STRING-fuse-ldlld如下图所示 在Qt项目中使用新的Kits编译即可。 但是笔者在设置好后QtCreator会有一个警告 cstdlib源码 #if !defined(_LIBCPP_CXX03_LANG) using ::at_quick_exit _LIBCPP_USING_IF_EXISTS; using ::quick_exit _LIBCPP_USING_IF_EXISTS; #endif #if _LIBCPP_STD_VER 14 using ::aligned_alloc _LIBCPP_USING_IF_EXISTS; #endif原因是at_quick_exit和quick_exit函数在C11中添加而std::at_quick_exit和std::quick_exit函数在C11中添加参见 https://cppreference.cn/w/c/program/at_quick_exit https://cppreference.cn/w/cpp/utility/program/at_quick_exit aligned_alloc是在C11中添加而std::aligned_alloc是在C17中添加参见 https://cppreference.cn/w/c/memory/aligned_alloc https://cppreference.cn/w/cpp/memory/c/aligned_alloc 笔者MacOS系统原来的C库缺少这几个函数的可以在一个头文件中声明一下不让QtCreator报警告 lost.h #ifndef LOST_H #define LOST_H#include _ctype.hint at_quick_exit(void (*)()); int quick_exit(void (*)()); void *aligned_alloc(size_t alignment, size_t size); int timespec_get(struct timespec* const time_spec,int const base );#endif // LOST_H然后在#include cstdlib之前先#include lost.h即可。 不报警告了但是在代码中不能使用这几个函数因为系统中没有相应的实现。 如果对你有帮助欢迎点赞收藏
http://www.hkea.cn/news/14347457/

相关文章:

  • 网站架构招聘品牌建设网
  • nas服务器可以做网站吗密码管理
  • 淘宝网站制作公司哪家好网站建设公司前台
  • 网站 如何 备案j建设网站备案流程
  • 网站编排类型wordpress修改html代码
  • 网站开发流行语言搭建棋牌工具
  • 北京网站建设公司 fim沈阳网站建设工作
  • 多城市网站设计云浮市住房和城乡建设局网站
  • 申请一个免费的网站空间光谷网站制作
  • 最好的网站建设用途网站建设 应该付多少维护费呢
  • 建设公司网站新闻素材管理金属行业网站模板下载
  • 上海建立公司网站商城网站免费模板
  • php 大型网站开发教程网店设计风格有哪些
  • 做网站上凡科南昌企业建设网站开发
  • 网站安全证书有问题如何解决微信怎么设计分享网站
  • 北京网页网站设计手机wap网站制作免费
  • 宁津有培训做网站的专业定制小程序
  • 证明做二维码打款网站链接提供手机自适应网站
  • 张家界酒店网站建设北京企业网站排名优化
  • 宝安电子厂做网站企业 网站 制作
  • 广州网站优化注意事项wordpress 点击图片放大
  • 淘宝客为什么做网站2021年关键词排名
  • 株洲新站建设wordpress 一页一屏
  • 贵州做网站公司站长之家素材网
  • 自己做网站需要什么软件下载什么网站可以做旅行行程
  • 贫困户房屋建设补助在哪个网站公布钢结构平台设计
  • 安徽国贸集团网站建设做一个网站大概多少钱
  • 宁波网站设计首选荣盛网络网站开发项目建设经验
  • 网站建设属什么合同新浪网站开发语言
  • 全景校园网站开发海外seo网站建设