CMake:如何添加编译器标志到非默认编译器 [英] CMake: how to add compiler flags to non-default compiler

查看:466
本文介绍了CMake:如何添加编译器标志到非默认编译器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



默认gcc我通常运行:



<$> p $ p> cmake -DCMAKE_CXX_FLAGS = -I / some / path / path / to / project

这很好。

  cmake -DCMAKE_CXX_COMPILER = icpc -DCMAKE_C_COMPILER = icc -DCMAKE_CXX_FLAGS = -I / some / path / path / to / project 



当我尝试使用非默认编译器时, CMAKE_CXX_FLAGS 变量内容到编译器。



如何解决此问题?



正确答案是


  1. 您需要指定 CMAKE_CXX_FLAGS 变量的类型:

      -DCMAKE_CXX_FLAGS:STRING = -I / some / path 

    li>

  2. 您需要向C和C ++编译器提供完整路径:

      cmake -DCMAKE_C_COMPILER = / opt / intel / bin / icc -DCMAKE_CXX_COMPILER = / opt / intel / bin / icpc -DCMAKE_CXX_FLAGS:STRING = -some-flag 
    pre>


解决方案

  export CC = icc CXX = icpc cmake -DCMAKE_CXX_FLAGS = -I / some / path / path / to / project 


Hello I want to build a project with intel compiler.

With default gcc I usually run:

cmake -DCMAKE_CXX_FLAGS=-I/some/path  /path/to/project

And this works fine.

cmake -DCMAKE_CXX_COMPILER=icpc -DCMAKE_C_COMPILER=icc  -DCMAKE_CXX_FLAGS=-I/some/path  /path/to/project

When I try to use non-default compiler it does not path CMAKE_CXX_FLAGS variable content to compiler at all.

How to fix this?

Correct Answer is:

  1. You need to specify the type of the CMAKE_CXX_FLAGS variable:

    -DCMAKE_CXX_FLAGS:STRING=-I/some/path
    

  2. You need to provide full path to C and C++ compilers:

    cmake -DCMAKE_C_COMPILER=/opt/intel/bin/icc -DCMAKE_CXX_COMPILER=/opt/intel/bin/icpc -DCMAKE_CXX_FLAGS:STRING=-some-flag
    

解决方案

The good way to do what you expect is to use:

export CC=icc CXX=icpc cmake -DCMAKE_CXX_FLAGS=-I/some/path  /path/to/project

这篇关于CMake:如何添加编译器标志到非默认编译器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆