2312llvm,编译X86的clang与llvm

2023-12-16 07:12
文章标签 编译 x86 clang llvm 2312llvm

本文主要是介绍2312llvm,编译X86的clang与llvm,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先从这里下载llvm-project.
然后解压后,进入clang目录.
输入命令:

cmake -DLLVM_ENABLE_PROJECTS=clang -G "Visual Studio 17 2022" -A Win32 -Thost=x64 ..\llvm
cmake -DCMAKE_INSTALL_PREFIX="G:\\llvm3" -DLLVM_ENABLE_PROJECTS=clang -G "Visual Studio 17 2022" -A Win32 -Thost=x64 ..\llvm
//或如上.加上`生成目录`.

表示,用x64cl编译X86版本,用-A Win32代表X86版本.
然后生成llvm.sln2M大.
编译选项技巧:
因为,内存只有8G,所以不要并行,在
工具->选项->项目和解决方案->生成和并行的最上面,设置最大并行项生成数1.
这样,虽然,但不会因为堆内存不足,而重新构建.
最后,打开llvm.sln,按F7,等2个小时,就构建好了.不用单独构建llvm,只构建clang就把llvm编译好了.
还要改,批量修改vcxproj文件为:

:%s/<PreferredToolArchitecture>x64</<PreferredToolArchitecture>x86</ge
:%s/<Platform>x64</<Platform>x86</ge
:%s/<RuntimeLibrary>MultiThreadedDLL</<RuntimeLibrary>MultiThreaded</ge
:%s/<LanguageStandard>stdcpp17</<LanguageStandard>stdcpplatest</ge

x64改为x86,把dll改为lib,把stdcpp17改为stdcpplatest.重新再编译.
然后就可以是全MT了.

这篇关于2312llvm,编译X86的clang与llvm的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/499599

相关文章

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui