clang++ 链接问题 和 VS Code

如果你在windows上使用clang 并且同时安装有vs和mingw, clang链接是会自动使用msvs, 链接时会有LINK error

LINK : fatal error LNK1104: cannot open file 'libcmt.lib'

可以使用如下参数

clang++ --target=i686-pc-mingw .\op.cpp

用以指定平台。

或者

clang++ ./op.cpp -L"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib"

或者 开始-搜索-VS2013 x86 Native Tools Command Prompt 打开后

clang++ ./op.cpp

其实你只要执行"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"就可以调用msvc 链接clang++的目标文件了。

--target=i686-pc-mingw32

--target=i686-pc-vs2013

vs code 的配置参见这里

下面是我的UserSetting

{
"editor.tabSize": 4,
"editor.minimap.enabled": false,
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"clang.cxxflags": [
"-std=c++17",
"-Wall",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++\"",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++/mingw32\"",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++/backward\"",
"-I\"C:/Program Files (x86)/LLVM/lib/clang/5.0.0/include\"",
"-I\"C:/mingw/mingw32/include\"",
"-I\"C:/mingw/include\""
//"-I${workspaceRoot}/include",
//"-I${cwd}"
],
"clang.cflags": [
"-std=c99",
"-Wall",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++\"",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++/mingw32\"",
"-I\"C:/mingw/lib/gcc/mingw32/6.3.0/include/c++/backward\"",
"-I\"C:/Program Files (x86)/LLVM/lib/clang/5.0.0/include\"",
"-I\"C:/mingw/mingw32/include\"",
"-I\"C:/mingw/include\""
],
"clang.executable": "C:/Program Files (x86)/LLVM/bin/clang.exe",
"clang.completion.enable": true
}

在Linux或者Mac平台使用gcc 常常需要一些gcc预定义的宏区分不同平台,

可以使用下列命令

gcc -dM -E - < /dev/null

MAC上会定义__MACH__和__APPLE__

Linux有__linux和__unix

clang++ 链接问题 和 VS Code的更多相关文章

  1. linux下Clang和gcc的区别

    Clang 比 GCC 编译器的优势: 编译速度更快 编译产出更小 出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 . 内置有静态分析工具 ...

  2. [Core] .NET Core & VS Code 之路(1) Hello World

    目录 相关链接 dotnet命令 VS Code Hello World Web Hello World 总结 其实本篇上个月已经写好, 只是 但是,不忘初心方得始终 相关链接 Learn .NET ...

  3. VS code 中的各种变量 ${file},${fileBasename}

    VS code 中的各种变量 ${file},${fileBasename} 2017年08月24日 11:14:07 bailsong 阅读数:7108    from: https://blog. ...

  4. Mac OS X 操作系统下IntelliJ IDEA激活码(Activation code)破解

    Mac OS X 操作系统(版本:10.13.6)下载并安装IntelliJ IDEA: Version: 2018.2.4 Download IntelliJ IDEA 下一步对IntelliJ I ...

  5. Cross-compilation using Clang

    Introduction This document will guide you in choosing the right Clang options for cross-compiling yo ...

  6. C++链接与装载

    1..obj文件的内部结构 2.映射到进程虚拟空间 3.链接的原理    C++ Code  123456789   1.未解决符号表:提供了所有在该编译单元里引用但是定义并不在本编译单元里的符号及其 ...

  7. Building clang on RedHat

    http://btorpey.github.io/blog/2015/01/02/building-clang/ clang is a great compiler, with a boatload ...

  8. 【转载】Visual Studio Code 构建 C/C++ 开发环境

    https://www.cnblogs.com/XieSir/articles/8288051.html 1. 安装 MinGW Distro / MinGW / GNU GCC 中的任何一款,( W ...

  9. 1 visual studio code 配置C++开发环境 (windows 开发环境)

    0 引言 最近帮GF(不幸变成ex了)配置C++开发环境,一开始想给她装个visual studio13完事,但是一想到自己安装以及使用时的诸多麻烦,就有点退却,觉得没有这个必要.正好了解到vscod ...

随机推荐

  1. 8Manage:“消费升级”缘何剑指企业一体化管理变革?

    [导读]提到消费升级,大家都会想起美学.个性化.品质等标签,近年来经济发展所伴随的消费需求转型在逐渐凸显,开始从粗狂型到精细化,如:关注产品性价比.服务个性化等内容.企业在消费升级下应该如何应对呢?8 ...

  2. EasyNetQ WithTopic过滤失效的解决方案

    RabbitMQ原理及教程:http://www.cnblogs.com/AlvinLee/p/6141834.html EasyNetQ是什么以及常见用法这里都不做讲解.可以参考这篇博文:http: ...

  3. npm打包前端项目太慢问题分析以及暂时解决方案

    npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...

  4. Unix 让进程安全地退出

    终止一个进程有很多方法(暂只说linux环境):前台运行的进程,如果没有提供退出功能,我们通常会Ctrl+C进行终止:后台或守护进程,如果也没有提供退出命令啥的,咱通常会kill掉:此外还有类似关机或 ...

  5. centos6上yum安装drbd(内核:2.6.32.696)

    author:headsen  chen date: 2017-11-20  15:11:21 notice: 个人原创,转载请注明,否则依法追究法律责任 前期准备: 两台机器:配置主机名分别为: l ...

  6. 在虚拟机VMware上安装Linux系统教程

    目录: 一.       CentOS的安装 二.       RedHat的安装 三.       VMwaretools的安装 此处提供CentOS和RedHat两个版本的系统安装流程,至于选哪个 ...

  7. 笔记:MyBatis 使用 Java API配置

    我们已经讨论了各种MyBatis配置元素,如envronments.typeAlias和typeHandlers,以及如何使用XML配置它们.即使你想使用基于JavaAPI的MyBatis配置,MyB ...

  8. 目前微服务/REST的最佳技术栈

    服务端 日期 编程语言 Web Framework DbAccess/ORM 数据库 2017-09-07 Node.js 8.4 Koa 2.3 sequelize 4.8 MySQL 2017-0 ...

  9. [poj1012]Joseph_Joseph

    Joseph 题目大意:给你2*k个人,前k个是好人,后k个是坏人,编号从1到2*k.每次从上一个死掉的人的下一个开始查m个人并将第m个人杀死.问最后剩下的全是好人的m是多少. 注释:$1\le k ...

  10. JavaScript之隐式类型转换

    布尔操作符(!.&&.||) 当使用 条件判断语句(if...else) 以及 布尔操作符(!.&&.||) 时,会调用Boolean()进行隐式类型转换 转换为fal ...