草庐IT

target_include_directories

全部标签

c++ - #include <iostream> 在 C++ 中?

我读到#include将在编译之前通过C++预处理器将粘贴"file"复制到我们的源文件中。这是否意味着只要我们编译源文件,"file"(iostream)也会被编译一遍又一遍?同样在C++完成它的工作之后,中间文件的大小是否也有"file"+“源文件大小”的字节? 最佳答案 Ireadthat#includewillcopypaste“file”intooursourcefilebyC++preprocessorbeforebeingcompiled.是的。编译器本身看到的数据将包含file中的数据。以及源文件中的数据。(实际上,

c++ - Xcode 找不到#Include<> header

我正在尝试让Xcode导入Irrlicht的头文件。#include它说“Irrlicht.h。没有这样的文件或目录”。是的Irrlicht.h有一个大写的I,即使#include是小写的。无论如何,我在Xcode项目的header搜索路径中添加了“/lib/irrlicht-1.6/include”,但它仍然找不到它。我试过的唯一有效的方法是:#include"/lib/irrlicht-1.6/include/irrlicht.h"虽然这有点荒谬,#include应该可以,但我不明白为什么它不起作用。更新(这里有关于错误的更多详细信息):/lib/PAL/pal_benchmark

c++ - 使用#include 将大块重复代码放入单独的文件中是否可以和/或正常?

我一直在剖析一些代码,我看到了一些我以前从未见过的东西,我想知道这是一个好的/坏的做法,它是否正常。基本上有一个头文件,其中包含一个带有一堆(大约90个)纯虚函数的类的类定义。这些虚函数有很多,所以它们都放在一个单独的文件中,然后像这样包含在类定义中:Foo.hclassFoo{public:virtual~Foo(){};#defineFOO_VIRTUAL_IMPL=0#include"Foo_prototypes.h"};Foo_prototypes.h#if!defined(FOO_VIRTUAL_IMPL)#defineFOO_VIRTUAL_IMPL#endifvirtua

c++ - 标准可选 : No such file or directory

我尝试用不同的编译器(包括gcc6.1)编译以下程序:#includeintmain(){std::optionalo1;}输出是main.cpp:1:20:fatalerror:optional:Nosuchfileordirectory#includeoptional对于此处给出的示例甚至是这样:http://en.cppreference.com/w/cpp/utility/optional/optional有什么线索吗? 最佳答案 std::optional将成为C++17标准的一部分,但如果您想在此之前使用,则必须使用st

c++ - 如何不#include <windows.h>

在64位系统上使用MSVC2008,32位。我曾经被建议永远不要包含windows.h,因为“它是一个真正的怪物,会显着减慢我的编译时间”。我尝试将其排除在外,但显然会出现编译错误。我包含了windef.h来定义所有DWORD等,但我很快就明白了要定义什么才能让代码编译。我现在得到:2>c:\programfiles\microsoftsdks\windows\v7.0\include\winnt.h(6361):errorC2146:syntaxerror:missing';'beforeidentifier'ContextRecord'2>c:\programfiles\micro

c++ - Unix 域 : connect() : No such file or directory

如标题中所述,我的connect()调用具有相应地址的unix域类型套接字导致错误ENOENT:没有这样的文件或目录。两个套接字已正确初始化,并相应地创建和绑定(bind)了套接字文件。服务器和客户端套接字在不同的进程中运行,尽管客户端进程是fork()-ed和execl()-ed。这也是我解析客户端和服务器套接字地址的方式,我用它来设置客户端套接字。服务器进程正在使用pthreads。这是我的connect()尝试:structsockaddr_unaddress;address.sun_family=AF_UNIX;memcpy(address.sun_path,filepath.

c++ - 什么是 diff b/w Includes in VC++ Directories options 和 Additional include directories in C++ -> General in Visual Studio

我尝试在工具->选项中的VC++目录->包含目录选项中添加包含目录,但在编译时出现错误-“找不到文件或目录”。一旦我添加到Projectproperties->Configurationproperties->C++->General->Additionalincludedirectories,我就可以成功编译。那么为什么VisualStudio有一个包含目录选项。为什么它用于?(我使用的是VisualStudio2010Beta1) 最佳答案 VisualStudio团队最近在他们的博客中解释了VS2010在包含目录方面与早期版本

c++ - 从 std::function::target<>() 获取的函数指针和普通函数指针有什么区别?

以下代码是从APUE复制过来的signal实现,稍作修改namespace{usingsignal_handler=void(*)(int);signal_handlersignal(sigset_tsig,signal_handler);}Signal::signal_handlerSignal::signal(sigset_tsig,void(*handler)(int)){structsigactionnewAction,oldAction;sigemptyset(&newAction.sa_mask);newAction.sa_flags=0;newAction.sa_hand

c++ - 正确使用 std::function::target

任何人都可以帮我实现下面的函数test,以便它接受任何Callable和std::function并返回true如果std::function的目标是Callable?我一直在尝试各种方法,但没有一个一直有效,我什至无法弄清楚为什么它们适用于它们确实有效的案例。#include#include#includeintfoo(int){return0;}intfaz(int){return0;}struct{intoperator()(int){return0;}}bar,baz;templatebooltest(F1&&f1,std::functionf2){//returnf2.tem

c++ - "Error C1083: Cannot open include file"但我有包含文件的路径

与thisquestion相关,我在用于测试DLL的控制台应用程序的代码中包含了一个头文件,但VisualStudio返回以下错误:errorC1083:Cannotopenincludefile:'myProject.h':Nosuchfileordirectory但我在附加包含目录中包含了myProject.h的文件夹路径。我还尝试在ConfigurationProperties->Debugging->Environment下输入它作为“PATH=”值。路径是:U:\SoftwareDevelopment\c++projects\myProject\myProject,进入那个文