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. Tomcat 请求处理流程详解

    Overview Connector 启动以后会启动一组线程用于不同阶段的请求处理过程. Acceptor 线程组.用于接受新连接,并将新连接封装一下,选择一个 Poller 将新连接添加到 Poll ...

  2. .NET Core 配置Configuration杂谈

    前言 .NET Core 在配置文件的操作上相对于.NET Framework做了不少改变,今天来聊一聊.关于Configuration的Package都是以Microsoft.Extensions. ...

  3. Mac下redis的安装 以及配置支持PHP使用redis

    1 下载最新redis  https://redis.io/download 2 安装redis.  这部分在上面下载链接中 官网提供的有相关操作 如下: $ wget http://download ...

  4. RestSharp 一个.NET(C#)的HTTP辅助类组件

    互联网上关于.NET(C#)的HTTP相关的辅助类还是比较多的,这里再为大家推荐一个.NET的HTTP辅助类,它叫RestSharp.RestSharp是一个轻量的,不依赖任何第三方的组件或者类库的H ...

  5. Spring整合Shiro并扩展使用EL表达式

    Shiro是一个轻量级的权限控制框架,应用非常广泛.本文的重点是介绍Spring整合Shiro,并通过扩展使用Spring的EL表达式,使@RequiresRoles等支持动态的参数.对Shiro的介 ...

  6. 特定场景下Ajax技术的使用

    ajax介绍 jax技术包含了几种技术:javascript.xml.css.xstl.dom.xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥 ...

  7. Web开发,浏览器通讯原理及流程那点事,你应该听说下

    题外话: 最近园子里,关于.net门槛的文章风风火火,不过这类事情每过段时间就会出来一次,所以酱油都懒的打了. 当然个人也是有想法的,特别是这两天碰巧和一个三四年经验的java开发者呆在一起,对方说. ...

  8. 简述TCP的三次握手过程

    一.TCP报文格式   TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式         上图中有几个字段需要重点介绍下:    ...

  9. mac下redis安装、设置、启动停止

    下载安装 需要下载release版本,下载地址: http://download.redis.io/releases/ 我这里下载的是: http://download.redis.io/releas ...

  10. Ubuntu Mininet环境搭建

    我们通过源码方式搭建mininet仿真平台,使用git下载mininet源码 git clone git://github.com/mininet/mininet 下载完成之后,使用下面命令选择安装版 ...