VS2010附加包含目录无法正常工作

时间:2012-02-11 10:11:35

标签: c++ visual-studio visual-c++ include directory-structure

我最近开始使用SFML和TinyXML进行了一个相当小的2D项目,直到最近才开始使用这些项目。我已经将我的文件夹结构组织成一个个人的移动状态,这样我就可以将它复制到另一台计算机并恢复,而无需任何额外的设置。

但是,每当编译时我都会收到包括文件在内的问题。

  

spaaace \ source \ xmlparser.h(4):致命错误C1083:无法打开包含文件:'TinyXML \ tinyxml.h':没有这样的文件或目录

所以我认为我必须忘记更新'其他包含目录'(顺便说一句,只有一个),但不是,仍然是同样的问题。

这似乎是一个如此简单的小问题,而且我确信一旦找到原因,我就会在脸上拍打自己。我花了半个多小时试图解决它,谷歌等等。

为了澄清,我的项目结构有点像这样:

  

基\包括\ SFML

     

基\包括\ TinyXML的

     

基\项目\调试

     

基\项目\释放

     

基\项目\项目\源\

我的所有实际源文件都在最后一个。 我现在通过'C / C ++>选择了至少六次的include文件夹。一般>附加包含目录但没有变化。

我尝试过包含大约20种不同方式的文件夹,唯一可行的方法是使用完整路径(例如C:\ users \ admin \ desktop \ project \ include),这似乎不切实际。我还发现将整个include目录转储到我的项目中是不切实际的,这首先会破坏它的目的。

我试过了: >

  

包括“tinyxml.h”

     

包括“TinyXML / tinyxml.h”

     

包括“include / TinyXML / tinyxml.h”

     

包括“../ TinyXML / tinyxml.h”

     

包括“../../ TinyXML / tinyxml.h”

     

包括“../include / TinyXML / tinyxml.h”

     

包括“../include / TinyXML / tinyxml.h”

依此类推,以及使用<>而不是“”s。

再说一遍,不只是TinyXML有这个问题,SFML也是如此;它不是特定于文件的。

1 个答案:

答案 0 :(得分:3)

其他目录路径相对于项目文件的(.vcxproj)位置。因此,假设您的项目文件位于 base / project 目录中,您可以指定一个额外的目录:

<强> .. \包含

然后包括:

#include <TinyXML/tinyxml.h>

尖括号用于指示编译器从搜索位置开始搜索,而不是从带有此指令的header / cpp所在的目录开始搜索。