正如标题所说:使用VS20**C++是否有include目录的pragma指令?我认为类似于:
#pragma comment(include, "..\externals\blah\includes\")
这样我就可以在这个样式中使用include,blah. h也可以在里面使用这个样式?
#include <blah.h>
我知道我可以在我的项目设置中设置include目录,但是我要求一个预处理器指令,因为否则我将不得不为每个编译器配置文件设置它。问候Nem
63lcw9qa1#
您可以创建一个txt文件(例如IncludeDirs.txt)。在该文件中,您可以添加包含文件夹:
/I "." /I ".." /I ".\OtherFolder"
然后在 * 属性-〉配置属性-〉C/C++-〉命令行 * 中添加以下字符串:
@includedirs.txt
您可以为每个概要文件(调试、发布等)创建不同的文件。
wlsrxk512#
我不认为有任何方法可以做到这一点。include_alias只在逐个文件的基础上有用。
eaf3rand3#
可以创建一个**.props**文件,其中包含所选的选定项目特性。
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets" /> <PropertyGroup> <IncludePath>C:\ExampleDir\Include;$(IncludePath)</IncludePath> </PropertyGroup> </Project>
可以从**.vcxproj文件中移动现有属性块。它还可能包含属性的每个Configuration**条件(这也是您可以从.vcxproj文件内部了解的内容)。
[View] - [Property Manager]菜单-选择[Add Existing Property Sheet...]同时集中于特定的构建配置。这些属性文件可以在不同的项目之间很好地重用。结合环境变量值(例如使用$(MySdkPath)而不是直接的“C:\MySdk”),这种方法提供了一个很好的通用解决方案。
cotxawn74#
我不知道有什么。不久前我解决了这个问题,在每个目录中创建“all”和“all.cpp”文件,以包含每个头文件和源文件。创建和维护需要一些手工工作,但我相信这是值得的。这样我就可以写一些类似#include <Frigo/Math/all>的东西。甚至可以创建一个脚本来自动更新它们。
#include <Frigo/Math/all>
bjg7j2ky5#
您可以将“主文件夹”添加到项目属性中,然后将正确的文件夹放入include指令中,例如:文件夹**“包括”及其子文件夹“Unicode”/“ASCII”**,两者都具有名为“String. h”的头文件(不应使用相同的名称)在代码中用途:
#ifdef UNICODE // or your preprocessor flag # include <Unicode/string.h> #else # include <ASCII/string.h> #endif
也可以使用DEBUG或任何关键字,只要在Project-Settings --> C/C++ --> Preprocessor --> Preprocessor defintions中指定它即可
Project-Settings --> C/C++ --> Preprocessor --> Preprocessor defintions
rqqzpn5f6#
我来晚了,但我尽力了
#define path_include <C:/foo_folder/##a>
然后
#include path_include(blah.h) #include path_include(bluh.h)
它起作用了。
6条答案
按热度按时间63lcw9qa1#
您可以创建一个txt文件(例如IncludeDirs.txt)。在该文件中,您可以添加包含文件夹:
然后在 * 属性-〉配置属性-〉C/C++-〉命令行 * 中添加以下字符串:
您可以为每个概要文件(调试、发布等)创建不同的文件。
wlsrxk512#
我不认为有任何方法可以做到这一点。include_alias只在逐个文件的基础上有用。
eaf3rand3#
可以创建一个**.props**文件,其中包含所选的选定项目特性。
可以从**.vcxproj文件中移动现有属性块。
它还可能包含属性的每个Configuration**条件(这也是您可以从.vcxproj文件内部了解的内容)。
[View] - [Property Manager]菜单-选择[Add Existing Property Sheet...]
同时集中于特定的构建配置。
这些属性文件可以在不同的项目之间很好地重用。结合环境变量值(例如使用$(MySdkPath)而不是直接的“C:\MySdk”),这种方法提供了一个很好的通用解决方案。
cotxawn74#
我不知道有什么。
不久前我解决了这个问题,在每个目录中创建“all”和“all.cpp”文件,以包含每个头文件和源文件。创建和维护需要一些手工工作,但我相信这是值得的。这样我就可以写一些类似
#include <Frigo/Math/all>
的东西。甚至可以创建一个脚本来自动更新它们。bjg7j2ky5#
您可以将“主文件夹”添加到项目属性中,然后将正确的文件夹放入include指令中,例如:
文件夹**“包括”及其子文件夹“Unicode”/“ASCII”**,两者都具有名为“String. h”的头文件(不应使用相同的名称)
在代码中用途:
也可以使用DEBUG或任何关键字,只要在
Project-Settings --> C/C++ --> Preprocessor --> Preprocessor defintions
中指定它即可rqqzpn5f6#
我来晚了,但我尽力了
然后
它起作用了。