如何从命令行使用 Visual Studio 2017 Codegen ClangC2?
How to use Visual Studio 2017 Codegen ClangC2 from command line?
我正在尝试使用Visual Studio 2017 Build Tools(在x64系统上)的Clang/C2编译器构建一个简单的'空主'应用程序。我已经按照建议启动了...Microsoft Visual Studio2017BuildToolsVCAuxiliaryBuildvcvars64.bat
shell,但意识到它不会将路径添加到 clang.exe 编译器,因此clang
不可用。手动添加了路径(x64 托管版本),因此也可以调用clang
。
尝试使用简单的空主函数体构建最简单的程序会导致以下错误:
clang hello.cc -o hello.exe
error: failed to load c2 (file not found)
c2.dll 是 Clang 应该拉入链接的 MS 链接器,但似乎找不到它。
我尝试从 IDE 本身构建相同的程序,它显然是成功的,因为 IDE 单独调用编译器而不是链接器(即它不依赖编译器调用链接器,而是直接调用链接.exe)
有谁知道如何让 clang/c2 编译器变成一个工作形状?(以前我能够在Visual Studio 2015中做同样的事情)
问题是 Clang 太愚蠢了,无法在 Windows 中找到链接.exe,尽管它在PATH
中。
解决方案是使用MKLINK
命令在clang.exe可执行文件旁边创建符号链接.exe链接:
cd "c:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsClangC214.10.25903binHostX64"
mklink link.exe "c:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.10.25017binHostX64x64link.exe"
cd "c:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsClangC214.10.25903binHostX86"
mklink link.exe "c:Program Files (x86)Microsoft Visual Studio2017BuildToolsVCToolsMSVC14.10.25017binHostX86x86link.exe"
上述解决方案是黑客的,可能需要管理员权限,并假设交联剂与本机交联剂兼容。
相关文章:
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- Visual Studio 2017 不允许我创建 C++ 专用模板
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 在Visual Studio 2017中使用recursive_directory_iterator
- 使用 CMake,Microsoft MPI 和 Visual Studio 2017 找不到 mpi.h
- Visual Studio 2017 中的 QtMetaObject 未解决的外部错误
- 智能感知不适用于Visual Studio 2017中的cmake项目
- 在Visual Studio 2017中创建的简单DLL不会在XP中加载
- Android NDK - 无法在 Visual Studio 2017 中调试
- Visual Studio 2017 - 调试和 Relese 配置,设置运行时库
- Visual Studio 2017 C++,不能使用 typeid() 获取信息对象,缺少指针?;
- 代码在Visual Studio 2017中不起作用,但在VS代码中工作
- 默认/样板代码在Visual Studio 2017中给我错误.E1574.虚幻.但构建成功了
- std::filesystem::create_directories Visual Studio 2017
- OpenCV 3 Visual Studio 2017 调试,调用堆栈没有.pdb文件
- Visual Studio 2017 15.5 Breaks C++ TypeDefs
- 在Visual Studio 2017中使用c ++组件构建python解决方案时出现问题
- 如何在Visual Studio 2017上将类方法设置为参数并将它们与lambda一起使用?