如何在 winodws 上与 MINGW 建立叮当?
How to build clang with MINGW on winodws?
我正在尝试在Windows 8上使用MINGW从源代码构建clang。
我从源代码下载了 clang 并从 llvm 的官方页面下载了其他必要的工具
CLANG-LLVM 源代码 :git clone https://github.com/llvm/llvm-project.git
cmake and ninja
我下载的就像下面的页面一样
http://clang.llvm.org/docs/LibASTMatchersTutorial.html
我在终端上运行并给出以下命令
cmake -GNinja -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt" -DCMAKE_BUILD_TYPE=Release /path/to/llvm
所以cmake输出它正在运行的文件夹中的一些文件
但是在下一步如果我给忍者
5 步后,它给出以下错误
In file included from ../lib/Demangle/ItaniumDemangle.cpp:14:0:
../include/llvm/Demangle/ItaniumDemangle.h: In instantiation of 'void llvm::itanium_demangle::FloatLiteralImpl<Float>::printLeft(llvm::itanium_demangle::OutputStream&) const [with Float = long double]':
../lib/Demangle/ItaniumDemangle.cpp:587:1: required from here
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: unknown conversion type character 'L' in format [-Wformat=]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
^
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: too many arguments for format [-Wformat-extra-args]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Demangle/ItaniumDemangle.h: In instantiation of 'void llvm::itanium_demangle::FloatLiteralImpl<Float>::printLeft(llvm::itanium_demangle::OutputStream&) const [with Float = double]':
../lib/Demangle/ItaniumDemangle.cpp:587:1: required from here
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: unknown conversion type character 'a' in format [-Wformat=]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
^
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: too many arguments for format [-Wformat-extra-args]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/llvm/Demangle/ItaniumDemangle.h: In instantiation of 'void llvm::itanium_demangle::FloatLiteralImpl<Float>::printLeft(llvm::itanium_demangle::OutputStream&) const [with Float = float]':
../lib/Demangle/ItaniumDemangle.cpp:587:1: required from here
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: unknown conversion type character 'a' in format [-Wformat=]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
^
../include/llvm/Demangle/ItaniumDemangle.h:2177:23: warning: too many arguments for format [-Wformat-extra-args]
int n = snprintf(num, sizeof(num), FloatData<Float>::spec, value);
~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[22/4328] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.obj
C:MinGWbing++.exe -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support -I../lib/Support -Iinclude -I../include -std=c++11 -Werror=date-time -std=gnu++14 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.obj -MF libSupportCMakeFilesLLVMSupport.dirChrono.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Chrono.cpp.obj -c ../lib/Support/Chrono.cpp
../lib/Support/Chrono.cpp: In function 'tm llvm::getStructTM(llvm::sys::TimePoint<>)':
../lib/Support/Chrono.cpp:35:15: error: '::localtime_s' has not been declared
int Error = ::localtime_s(&Storage, &OurTime);
^~
[25/4328] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.obj
C:MinGWbing++.exe -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support -I../lib/Support -Iinclude -I../include -std=c++11 -Werror=date-time -std=gnu++14 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.obj -MF libSupportCMakeFilesLLVMSupport.dirCodeGenCoverage.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/CodeGenCoverage.cpp.obj -c ../lib/Support/CodeGenCoverage.cpp
In file included from ../lib/Support/CodeGenCoverage.cpp:18:0:
../include/llvm/Support/Mutex.h:29:12: error: 'recursive_mutex' in namespace 'std' does not name a type
std::recursive_mutex impl;
^~~~~~~~~~~~~~~
../include/llvm/Support/Mutex.h: In member function 'bool llvm::sys::SmartMutex<mt_only>::lock()':
../include/llvm/Support/Mutex.h:35:11: error: 'impl' was not declared in this scope
impl.lock();
^~~~
../include/llvm/Support/Mutex.h: In member function 'bool llvm::sys::SmartMutex<mt_only>::unlock()':
../include/llvm/Support/Mutex.h:48:11: error: 'impl' was not declared in this scope
impl.unlock();
^~~~
../include/llvm/Support/Mutex.h: In member function 'bool llvm::sys::SmartMutex<mt_only>::try_lock()':
../include/llvm/Support/Mutex.h:62:18: error: 'impl' was not declared in this scope
return impl.try_lock();
^~~~
[26/4328] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.obj
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.obj
C:MinGWbing++.exe -DGTEST_HAS_RTTI=0 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support -I../lib/Support -Iinclude -I../include -std=c++11 -Werror=date-time -std=gnu++14 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -O2 -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.obj -MF libSupportCMakeFilesLLVMSupport.dirCachePruning.cpp.obj.d -o lib/Support/CMakeFiles/LLVMSupport.dir/CachePruning.cpp.obj -c ../lib/Support/CachePruning.cpp
In file included from ../lib/Support/CachePruning.cpp:16:0:
../include/llvm/Support/Errc.h:65:23: error: 'not_supported' is not a member of 'std::errc'
not_supported = int(std::errc::not_supported),
^~~
[27/4328] Building CXX object lib/Support/CMakeFiles/LLVMSupport.dir/APFloat.cpp.obj
ninja: build stopped: subcommand failed.
为什么 clang 在 Windows 中是依赖的。? 在窗户上建造叮当声时,我在做什么错误的事情。?
如果有任何解决方案,请告诉我。
我有同样的探针。我只是用巧克力来安装叮当声。
https://chocolatey.org/
安装后,以管理员身份打开 Windows Power shell,然后键入以下命令:choco install llvm
。
这应该安装编译器。
相关文章:
- 叮当不知道PTRDIFF_MAX?
- 如何建立使用模板函数的lambda函数的尾部返回类型
- MacOS通过在莫哈韦"wchar.h"下破碎的自制啤酒发出叮当声
- 如何在c++中从git建立外部库
- 无法在C++中建立与MySQL数据库的连接
- 如何以叮当格式设置评论的行长?
- 为什么 gcc 会产生这种奇怪的组件与叮当声?
- 我可以与 python 服务器而不是 c++ 客户端建立 tcp/ip 套接字吗?
- OSX蓝牙打开RFCOMMChannelAsync声称已连接,但未建立连接,并且从未调用过委托
- 编译 CUDA 与数学函数的叮当
- 叮当格式化程序多行格式配置错误
- 我已经建立了递归关系,它找到了两个字符串之间最长的连续公共字符串,我怎么能跳过其中一个字符串中的一个字符
- 如何在窗户上使用和配置叮当声?
- 通过单独的 tcp 流建立 http 连接
- 叮当声:折叠表情和"expression result unused"警告
- 构建 LLVM 后未找到叮当
- 如何为集合 c++ 建立比较器
- 将"libpqxx"与Visual Studio 2013链接/安装,以便与PostgrSQL建立C++连接
- 避免指针运算,修复叮当整齐错误
- 如何在 winodws 上与 MINGW 建立叮当?