草庐IT

target_include_directories

全部标签

c++ - 添加 #include <boost/thread/mutex.hpp> 会破坏我的 ActiveX 控件吗?

在ActiveX控件中使用boost::mutexheader是否存在已知问题?(boost版v1.39)如果我在VisualStudio2008中创建一个名为“DefaultOCXControl”的MFCActiveX控件项目,那么我可以构建它,该控件将自身注册为构建的一部分,并且可以像您期望的那样插入到ActiveX测试容器中。一切顺利。如果我再添加这一行:#include在我的DefaultOCXControlCtrl.h文件顶部并重建:构建结束时的注册步骤失败并显示:DebugAssertionFailed!Program:C:\Windows\system32\regsvr3

c++ - 在 CMake 中,指定所有可执行文件 target_link_libraries 某些库

在CMake中,有没有办法指定我所有的可执行文件都链接到某个库?基本上我希望我所有的可执行文件都链接到tcmalloc和分析器。简单地指定-ltcmalloc和-lprofiler不是一个好的解决方案,因为我想让CMake以可移植的方式找到库的路径。 最佳答案 您可以使用您自己的函数覆盖内置的add_executable函数,它总是添加所需的链接依赖项:macro(add_executable_name)#invokebuilt-inadd_executable_add_executable(${ARGV})if(TARGET${_

c++ - "No rule to make target ' 安装 '"... 但是 Makefile 存在

我在安装C++库时遇到问题。CMake命令成功并生成Makefile,但它给出警告:CMakeWarning(dev)atCMakeLists.txt:27(LINK_DIRECTORIES):Thiscommandspecifiestherelativepath../usr/local/libasalinkdirectory.PolicyCMP0015isnotset:link_directories()treatspathsrelativetothesourcedir.Run"cmake--help-policyCMP0015"forpolicydetails.Usethecmak

c++ - std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n' ) 使用#include <Windows.h> 时出错

这个问题在这里已经有了答案:std::max-expectedanidentifier(6个答案)macro"max"requires2arguments,butonly1given(4个答案)关闭去年。在VisualStudio2010Pro中,我在max()上收到一个编译错误,指出“需要一个标识符”命令的一部分。似乎在windows.h头文件中有一个max(a,b)标识符和编译器想要使用它。我尝试使用#include也一样,但这并没有解决问题。有什么办法可以解决这个问题吗?

c++ - MSBuild:VS2010 中 native C++ 项目的 Custom.After.Microsoft.Common.targets

我读过“Custom.Before.Microsoft.Common.targets”和“Custom.After.Microsoft.Common.targets”的使用,以便在每个项目构建之前/之后执行自定义目标,我会喜欢在我们的TeamCity构建服务器上构建时使用此技术来更改版本信息。问题是,虽然它适用于C#项目,但它似乎不适用于nativeC++项目。在深入研究Microsoft.Cpp.targets文件后,我发现对于nativeC++项目,这似乎是通过设置$(ForceImportBeforeCppTargets)和$(ForceImportAfterCppTargets

c++ - XCode 不会破坏 #include 的 CPP 文件

如果您从另一个CPP文件中包含一个CPP文件,XCode将拒绝在包含的CPP文件中的任何断点处中断。我打算向Apple提出一个错误,但只是想在这里提及它,以防其他人遇到这个问题并可能找到解决方法。您可能希望从CPP文件中包含CPP文件,这是有充分理由的,我不会在此处详述。可以这么说,我不能简单地重新安排项目来直接编译包含的文件。示例:一个非常简单的iPhone项目ma​​in.mmexternvoidFunctionInSource1(inta);intmain(intargc,char*argv[]){FunctionInSource1(1);return0;}source1.cpp

c++ - 使用#include 加载 OpenCL 代码

很久以前我就看到过用hlsl/glsl着色器代码完成的——在源代码文件上使用#include将代码粘贴到char*这样在运行时就不会发生文件IO。如果我将其表示为伪代码,它看起来有点像这样:#defineCLSourceToString(filename)"#include"filename""constchar*kernel=CLSourceToString("kernel.cl");当然#define不会起作用,因为它只会尝试使用这些引号来开始字符串。 最佳答案 查看子弹物理引擎对OpenCL的使用how对kernel执行此操作

c++ - CMAKE include_directories

我正在尝试将我的图书馆与其他图书馆链接起来lib1使用CMAKE2.8.应该说是在Windows上。在CMakeLists.txt我有:add_library(mylib${sources})include_directories(${CMAKE_SOURCE_DIR}/lib1/include)target_link_libraries(mylib${lib1_path})但是编译器说一些#include在我的库中未解决,可能是因为没有-I.../lib1/includegcc的命令行参数.更新:应该说编译器在编译测试而不是mylib时提示. 最佳答案

c++ - Qt 5.3。 QtWidgets : No such file or directory #include <QtWidgets>

我想编译Qt例子。我收到错误QtWidgets:Nosuchfileordirectory#includegreaterThan(QT_MAJOR_VERSION,4):QT+=widgets-doesnothelpQT+=widgets-doesnothelpINCLUDEPATH+=/opt/Qt/5.3/Src/qtbase/include/-doesnothelpQt5.3。Ubuntu14.04x64。 最佳答案 您需要仔细检查您是否完成了所有这些步骤:已安装模块greaterThan(QT_MAJOR_VERSION,4

c++ - 何时使用 include guards 或 #pragma once C++

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion在每个头文件中使用您选择的包含守卫和#pragmaonce中的一个/两者是一个好习惯,还是只使用那些带有类声明等内容的文件??我很想把它放在每个头文件中,但我担心它是不必要的,只会增加编译时间。什么是好的做法或常见的做法?让我澄清一下:我理解两者之间的区别。我想问的是,根据经验,程序员是在每个文件中使用它,还是只在需要它的文件中使用它。