草庐IT

target_include_directories

全部标签

c++ - Visual Studio 2012 : C++ compiler ignoring user-specified include directories

我遇到常见错误fatalerrorC1083:Cannotopenincludefile:'afxres.h':Nosuchfileordirectory。搜索引擎为此显示了很多匹配项,但没有一个建议的解决方案对我有用。通常这看起来是路径问题。所以,我确保安装了相关的库,并找到了文件。使用绝对路径作为#include工作正常:#include"C:\ProgramFiles(x86)\MicrosoftVisualStudio11.0\VC\atlmfc\include\afxres.h"但是,如果我将目录(C:\ProgramFiles(x86)\MicrosoftVisualStu

C++风格问题: what to #include?

这个问题在这里已经有了答案:ShouldIincludeeveryheader?(2个答案)关闭6年前。考虑这个翻译单元:#include#includeintmain(){std::mapmp;mp.insert(std::make_pair("hello",42));}这个翻译单元中有两件事困扰着我,它们是std::size_tstd::make_pair我刚刚假设和一定是#includedby和.这个假设有多正确?至少make_pair我认为这是一个非常有力的保证,因为map成员接口(interface)使用std::pair.对于std::size_t没有正式的保证,但仍然非常

c++ - 如何查询clang++的默认include路径?

如何查询clang/clang++的默认include路径?我正在尝试使用自定义构建的clang编译器(支持OpenMP的编译器),但它似乎没有找到STL库:/usr/local/bin/clang++hello.cpphello.cpp:1:10:fatalerror:'iostream'filenotfound#include^1errorgenerated.通过使用IDE,回溯#includeiostream,最后使用-isystem选项,我得到了要在OSX10.9中编译的简单helloworld应用程序:/usr/local/bin/clang++-isystem/Librar

c++ - 在#include 语句中使用垃圾字符没有编译器错误

#includegfhgfhgfusingnamespacestd;intmain(){return0;}为什么这个代码片段可以编译?根据ThegccreferenceonIncludeSyntax:Itisanerrorifthereisanything(otherthancomments)onthelineafterthefilename.这正是代码中所做的。 最佳答案 在gcc和clang中使用-pedantic-errors标志将其转换为错误seeitlive:error:extratokensatendof#include

c++ - cmake 和 eclipse : default include paths?

我有一个使用CMake系统构建的项目,我喜欢将其导入到Eclipse中。但是,当我使用'cmake-G"EclipseCDT4-UnixMakefiles"'生成eclipse项目文件时Eclipse项目中没有默认包含路径(例如/usr/include'或标准头文件的gcc路径)。如何以最正确的方式解决这个问题?系统:Linux海湾合作委员会4.3.3cmake2.6.4eclipse3.5.1 最佳答案 您必须转到项目属性(项目上的右键),“C/C++包含路径和符号”并将它们添加到此处作为“外部包含路径”。

c++ - Visual Studio 2012 : 'opencv2/opencv.hpp' : No such file or directory (C1083)

这个问题问了好几次,有一些答案,但是这个问题比较具体,附加目录路径设置正确(找到文件)。尽管如此,构建我的项目时出现以下错误:fatalerrorC1083:Cannotopenincludefile:'opencv2/opencv.hpp':Nosuchfileordirectory但我可以右键单击文件并在visualstudio2012中打开它吗?我试过:1)指定完整路径:可行!#include2)将文件放到C:\不起作用!(add.目录添加)3)具有相同包含语法的空项目。(添加目录)。成功了!4)我用CMake配置了同一个项目的VS2010版本,但我遇到了同样的问题。任何可能导致

c++ - C1083 : Cannot open include file: math. h: 没有那个文件或目录

我遇到了一堆这样的错误,我已经走投无路了。在谷歌上找到了很多答案,但不幸的是没有一个有效我正在使用VisualStudio2012。它说找不到的所有文件都在我电脑的这个文件夹里C:\ProgramFiles\MicrosoftVisualStudio11.0\VC\include即使我右键单击include语句并单击“打开文档”,它也会将我带到文档,因此它清楚地存在并且可以看到我也尝试将目录添加到选项中的“其他目录”字段,但没有解决。如果我像这样使用包含完整路径的include语句:#include然后就可以了,但是如果math.h文件有任何include语句,我也需要添加它们的路径等

c++ - boost "no such file or directory"

我正在尝试在一台新计算机上设置我的Code::Blocks工作环境,但我遇到了一些问题。我第一次这样做已经有很长时间了,现在当我打开我的主要项目时,Boost给我带来了问题。我对C++还是很陌生,解决这类问题我的经验有限。当我打开我的项目并尝试编译它时,我得到了这个错误:fatalerror:boost/algorithm/string.hpp:Nosuchfileordirectory|在我的一个头文件的这一部分:#include我将Boostv1.51.0库放在C:\boost,因为这是我在其他计算机上的位置。我的项目设置为在该目录中搜索其他包含项,但它似乎没有找到文件?我的项目之

c++ - #include 父目录的文件

我的文件夹结构是libAx.hy.halgorithm/a.h现在在a.h中我有#include"libA/x.h"不工作。它正在搜索algorithm/libA/x.h。那么我应该使用#include"../x.h"吗?第二种选择是糟糕的设计吗?目前libA只是header。但后者我可能会选择将其编译为库我正在使用cmake那么我可以或应该在我的包含路径中添加libA吗?简而言之我的算法目录中的某些文件需要包含其父文件夹中的定义。我无法将所有函数都模板化,因为类型很明显,而且会做得太过分。那么我应该如何设计我的项目? 最佳答案 您

c++ - #include <initializer_list> 需要在基于范围的情况下使用初始化列表吗?

最终的C++11标准包括对基于范围的for的规定,以便在不必包含的情况下“仅适用于”native数组。或任何其他标题。据我所知,这首先在工作文件n2900中得到解决。作为评论UK78和79的结果。该提案还包括一项隐式规定#include在每个翻译单元中,例如程序#includeintmain(){for(autoi:{1,2,3,4,5})std::cout即使不包含也会符合标准.然而,当概念从C++11中删除时,基于范围的for被修改,如n2930中所示.虽然数组“正常工作”的规定仍然存在,但没有提到初始化列表也是如此;确实是各种标准库容器头文件的规范#include而8.5.4.2