visual studio 2010包括目录路径

时间:2012-11-13 20:11:44

标签: c++ visual-studio-2010 include include-path

我有一个visual studio解决方案myvs.sln,其路径如下:c:\dir1\dir2\dir3\myvs\myvs\myvs.sln。我在c:\dir1\dir2\dir3\boostxxx\中安装了升级版xxx。

我在项目中有&gt; properties-&gt; c / c ++ - &gt; general:../..;../../boostxxx。在boost文件库中,包含文件具有以下语法:#include <boost/smart_ptr/shared_ptr>

我的代码文件myfile.h位于c:\dir1\dir2\dir3\yy1\myfile.h。在myfile.h中,我将boost库包括为:#include <boost/shared_ptr.hpp>。我收到的错误是:c:\dir1\dir2\dir3\yyy1/myfile.h fatal error C1083 cannot open include file boost/shared_ptr.hpp

问题是我应该怎么做才能纠正这个问题?

我还注意到编译器抛出的错误输出“d”高达dir3然后更改为“/".

我很可能不明白相对路径是如何工作的。另请注意,我只想引用相对路径而不是绝对路径。有人可以帮忙吗?我在使用c ++ visual studio 2010的Windows平台上。

1 个答案:

答案 0 :(得分:3)

搜索路径中的相对路径 引用文件的目录,其中#include指令是编译器的当前目录,现在显示一些简单的测试

“.. \ ..”从你的头文件升级到编译器的当前目录而不是你的项目目录。

要解决此问题,请在Visual Studio项目目录中显式启动包含路径,如下所示(字面意思):

  

$(PROJECTDIR).. \ ..; $(PROJECTDIR).. \ .. \ BoostXXX

关于正斜杠和反斜杠,在C ++代码的#include指令中使用正斜杠,因为这是最便携的。

使用正斜杠或反斜杠(但我更喜欢向后斜杠以便有一个约定),你指的是Windows文件系统,例如在包含路径的设置中。