问题标签 [clang-cl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 是否可以使用 clang-cl 在 Windows 上生成 .lib 文件?
我在 Windows 上,我安装了 Visual Studio 和最新版本的clang
. 我能够运行:
进而生成hello.exe
,我可以按预期运行。
但我想做的是生成一个静态库(.lib
文件)。我能够传递/LD
标志来生成动态链接库,但我不知道如何生成静态库。
这可能与clang-cl
吗?
c++ - 在 Windows 8.1 上使用 clang-cl 64 位
我刚开始在 windows 上使用 clang-cl,因为我需要在 64 位应用程序中使用内联汇编,而 Visual Studio 2015 不支持,所以我被告知要使用 clang-cl。
我从这里下载了一个预构建的二进制文件(clang 3.7.0),Windows 64 位版本。
所以我尝试制作我的第一个程序,但遗憾的是它没有编译。相同的代码在 Visual Studio 2015 上编译(汇编语句除外)。
请帮助
这是我从 admin cmd 使用的命令(我在此vsvart32
之前运行过):
clang-cl.exe -m64 C:\test\Source.cpp
这是我的代码:
这是clang-cl.exe
输出:
编辑感谢@Martin Bonner,问题是我需要使用#define UNICODE
. 但现在我还需要在 64 位上编译。我怎么做?
c++ - 为什么 YouCompleteMe 在 dot 之后不起作用?
我已经按照安装指南安装了YouCompleteMe 。我在Windows机器上使用gVim 。基本的符号完成正在工作,但我无法从我的标题中自动完成。
如果我有:
那么它将找不到完成myVector.<smth like push_back etc...>
Vim 状态栏说:
或者
诊断
我开始诊断问题。:YcmDiags
命令给出来自头文件的错误列表。由于YouCompleteMe使用clang不断编译源代码,因此我尝试使用 clang 编译我的文件。我也知道我应该在.ycm_extra_conf.py的标志中为 clang 指定命令行选项。我不知道 YCM 是运行clang.exe还是clang-cl.exe,但实际上我在从命令行运行vsvars32.bat后手动使用clang-cl.exe成功编译了我的 .cpp 文件。我没有成功使用clang.exe编译。
这是我的.ycm_extra_conf.py文件标志部分:
c++ - 编译器属性卡在函数类型上 - 这个 clang-cl 错误有解决方法吗?
在 Visual Studio 2015 中使用 C++ LLVM-vs2014 配置时,此静态断言失败。断言在 clang++、gcc 甚至 Visual C++ 中都不会失败。该thiscall
属性卡在函数类型上,即使它不再适用。我已经提交了错误报告,但我想知道是否有办法在此期间强制删除该属性。可以thiscall
去掉吗?
Microsoft Visual Studio 社区 2015 版本 14.0.24720.00 更新 1
c++ - 在 Visual Studio 2017 中使用 OpenMP 3/4
尝试使用 OpenMP 3 的功能
在 Visual Studio 2017 中;我越来越error c3005: 'collapse' unexpected token encountered on openmp 'parallel for' directive
Visual Studio 2017 似乎只支持 OpenMP2。在支持 OpenMP4.5 的请求中,VS 团队表示
我们目前没有计划。
另一个答案说
幸运的是,在 OpenMP 4 支持下,clang-cl 已成为可行的替代方案。在最坏的情况下,您仍然可以启用 /fallback 选项。
如何在 Visual Studio 2017 中使用 clang-cl,什么是回退选项?
c - 如何规避 Windows 通用 CRT 头文件对 vcruntime.h 的依赖
在尝试使用 Windows Universal C Run-Time (...\Windows Kits\10\Include\10.0.15063.0\ucrt) 在 Windows 上评估 Clang 时,我立即以未公开和意外依赖的形式面临意外的墙在微软的 Visual Studio 上。显然,一旦您包含任何标准 C 头文件,即使是最简单的 C 程序也无法立即编译,因为它们似乎最终都试图 #include vcruntime.h(这不是 UCRT 的一部分)。
我的问题是:
- 有没有办法在没有 Visual Studio 的情况下使用 Windows Universal C RTL SDK?
- 如果它不是有意或不可能的,那么为什么不将其称为“Microsoft VC 的 Windows CRT”-我错过了什么?
c++ - 铿锵声、std::function 和 -fno-rtti
我通过 clang-cl 在 Windows 上使用 Clang 5,并且在尝试关闭运行时类型信息 ( -fno-rtti
) 时遇到了问题std::function
。
这是我无法编译的示例:
命令行:
错误是:
这让我感到惊讶,有没有办法std::function
在没有 RTTI 的情况下在 Clang 中使用 lambda?文档说只有target
并且应该需要RTTI target_type
。std::function
我可以推出我自己的版本std::function
,但不得不这样做似乎很可惜。
如果我使用带有编译器标志的 MSVC,它工作正常/GR-
。
c++ - cmake 将 clang-cl 检测为 clang
我用 cmake 和 msvc 构建了boringssl 然后我尝试用 clang-cl 构建所以我在 vmake 参数中使用了 -T"LLVM-vs2014"
Clang-cl 使用 cl 参数但是 cmake 使用 gcc 样式参数而不添加 -Xclang
c++ - 重构 MFC 消息映射以包含完全限定的成员函数指针
我有一个代码库,其中 MFC 消息映射以这种形式编写:
这在 MSVC 中编译得很好。当我想在 Clang 中编译相同的代码时出现call to non-static member function without an object argument
错误,因为OnButtonAction
它不是指定成员函数指针的正确形式。代码可以很容易地修复:
或者我们可以使用 BEGIN_MESSAGE_MAP() 宏中的 ThisClass typedef:
到目前为止一切顺利......唯一的问题是我在许多单独的文件中有数百个这些消息映射条目。有什么工具可以解决这个问题吗?一些晦涩难懂的 Visual Studio 魔法?还是可以在这里通过正则表达式使用替换?