草庐IT

target_include_directories

全部标签

c++ - 什么时候可以在#include 指令中省略文件扩展名?

我在玩gmock并注意到它包含这一行:#include我会期待tuple.h。什么时候可以排除扩展,它是否赋予指令不同的含义? 最佳答案 C++标准头文件没有“.h”后缀。我相信原因是该标准会破坏许多不同的标准前实现。因此,标准委员会没有要求供应商将其现有的“iostream.h”(例如)header更改为符合标准(这将破坏其现有用户的代码),而是决定他们将删除后缀(我相信不会那么现有的实现已经完成)。这样,现有的非标准程序将继续使用供应商的非标准库工作。当用户想让他们的程序符合标准时,他们将采取的步骤之一是更改“#include”

c++ - 如何使用 include-what-you-use 工具与 CMake 一起检测未使用的 header ?

工具include-what-you-use可用于检测不需要的header。我正在使用CMake对于我的C++软件项目。如何指示CMake在我的软件项目的源文件中自动运行include-what-you-use? 最佳答案 CMake3.3引入了新的目标属性CXX_INCLUDE_WHAT_YOU_USE可以设置为程序的路径include-what-you-use.例如这个CMakeLists.txtcmake_minimum_required(VERSION3.3FATAL_ERROR)add_executable(helloma

c++ - Visual Studio 代码,#include <stdio.h> 说 "Add include path to settings"

我正在尝试在VisualStudioCode中构建C/C++。我安装了C/C++和所有相关的扩展。#includeintmain(){printf("TestCnow\n");return0;}但是#include下面有一条绿线说“将包含路径添加到设置”。当我点击它时,它会移动到“c_cpp_properties.json”。如何以及在哪里可以在下面的配置中添加包含路径?"configurations":[{"name":"Mac","includePath":["/usr/include"]}] 最佳答案 更当前的情况。在2018

c++ - 在头文件与源文件中包含 #includes

我喜欢把我所有的#includes放在我的头文件中,然后只在我的源文件中包含我的源文件的头文件。什么是行业标准?我的方法有什么缺点吗? 最佳答案 通常,您只想将最少的必要包含放入类头文件中,因为使用该头文件的任何其他人都将被迫#include他们所有人也是。在较大的项目中,这会导致构建速度变慢、依赖性问题和各种其他问题。将头文件视为类的公共(public)接口(interface)。你不想让使用它的每个人都背负额外的依赖,除非他们是必需能够使用该类。将仅在类实现中需要的任何内容下移到源文件中。对于标题中使用的其他类,只有#inclu

c++ - 错误 QApplication : no such file or directory

我已经安装了具有Qt的C++SDK,但是当我尝试编译链接QApplication的代码时,它给了我错误:ErrorQApplication:nosuchfileordirectory如何链接这些库?我搜索了目录,有一个名为QApplication.h的文件;所以我尝试用-I链接它(链接目录),但它仍然给我那个错误。 最佳答案 在Qt5中,您现在必须将widgets添加到QTqmake变量(在您的MyProject.pro文件中)。QT+=widgets 关于c++-错误QApplicat

c++ - CMake 中的 set_target_properties 是否覆盖 CMAKE_CXX_FLAGS?

在我的CMake项目开始时,我在变量CMAKE_CXX_FLAGS中设置通用编译标志,例如set(CMAKE_CXX_FLAGS"-W-Wall${CMAKE_CXX_FLAGS}")稍后,我需要附加其他特定于配置的编译标志(存储在BUILD_FLAGS中)。我可以为此使用以下命令吗:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS${BUILD_FLAGS})还是我必须手动添加CMAKE_CXX_FLAGS:set_target_properties(${TARGET}PROPERTIESCOMPILE_FLAGS"${CM

c++ - ubuntu 12.04 中的 openCV 程序编译错误 "libopencv_core.so.2.4: cannot open shared object file: No such file or directory"

我在ubuntu12.04中编译并安装了openCV2.4.2。在/usr/local/include下我可以看到目录/usr/local/opencv和/usr/local/opencv2。这是我写的代码:#include#include#includeusingnamespacecv;usingnamespacestd;intmain(intargc,char**argv){Matimage;image=imread(argv[1],1);if(argc!=2||!image.data){cout我使用这个命令行编译它:g++DisplayImage.cpp-oDisplayIma

c++ - 无法打开共享对象文件 : No such file or directory

我遇到了在带有torch的集群的头节点上找不到的共享库。我已经构建了库并指定了库的正确路径,同时通过g++编译了我自己的程序“荒谬”。所以我觉得很奇怪。任何想法?谢谢和问候![tim@user1release]$make......g++-pipe-W-Wall-fopenmp-ggdb3-O2-I/home/tim/program_files/ICMCluster/ann_1.1.1/include-I/home/tim/program_files/ICMCluster/libsvm-2.89-I/home/tim/program_files/ICMCluster/svm_light

c++ - GNU 自动工具 : Debug/Release targets?

我一直在寻找这个:我目前正在将一个中型程序转换为自动工具,来自基于Eclipse的方法(使用makefile)我总是习惯于“调试”构建,包含所有调试符号且没有优化,以及“发布”构建,没有调试符号和最佳优化。现在我正在尝试使用autotools以某种方式复制它,因此我可以(也许)执行以下操作:./configuremakedebug其中包含所有调试符号且没有优化,以及在哪里:./configuremake将产生“发布”版本(默认)PS:我已经阅读了有关--enable-debug标志/功能的信息,但在我当前(简单)的设置中,configure无法识别使用它 最

c++ - linux/videodev.h : no such file or directory - OpenCV on ubuntu 11. 04

我尝试在Ubuntu11.04上安装OpenCV2.2。但是OpenCV编译失败,说明与linux/videodev.h文件相关的错误。/user/includes/linux中可用的文件名为videodev2.h。/home/user/OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp:217:28:fatalerror:linux/videodev.h:Nosuchfileordirectorycompilationterminated.make[2]:***[modules/highgui/CMakeFiles/opencv_highgui.