我有一个C ++库的源代码(它是Box2D的一个版本)
我想将它的一部分添加到一个新项目中并将其构建为.dll
但是当我向新项目添加我想要的文件目录时,它将它们全部添加到项目的根目录中,因此大多数情况下,如果include语句是错误的。 例如......
#include <Box2D/Dynamics/b2Body.h>
#include <Box2D/Dynamics/b2Fixture.h>
#include <Box2D/Dynamics/b2World.h>
“Box2D / Dynamics /”部分现在是错误的。
我通过将包含我想要的文件的目录放在新项目目录中,然后单击“显示所有文件”按钮,然后单击该文件夹并说“包含在项目中”来添加新文件
下面是什么原始项目(我从中复制文件目录)看起来像..
并且继承了我的新项目的样子。正如您所看到的,整个项目是“平面”的,所有文件都在项目根目录中(尽管在实际的项目目录中,子目录结构仍然存在)
tbh我总是发现视觉工作室的这个文件管理方面很奇怪和令人困惑
答案 0 :(得分:1)
导入文件时没有看到文件夹的原因是没有文件夹可以说。正如您在文件夹图标上看到的过滤器覆盖图一样,只有过滤器。您还可以查看这些文件夹的属性,以找出该文件夹下列出的文件。
VS2013使用 projectFile.vcxproj.filters 文件来管理过滤器。您可以尝试将该文件(或手动创建一个)复制到新目录,然后导入代码/标题/其他文件。 AFAIK,VS应该通过查看文件扩展名为文件选择正确的文件夹。
答案 1 :(得分:0)
我正在使用VS2013。如果您在非默认位置创建项目,似乎New Project From Existing Code向导将保留现有的源树目录结构。即某处以外的地方:
C:\Users\*yourUserName*\Documents\Visual Studio 2013\Projects
以下是我将现有C ++源代码树导入VS2013的方法:
正如其他人所说,“显示所有文件”按钮(或“项目”>“显示所有文件”菜单项)在“解决方案资源管理器”中的树视图和源的“其他”视图之间切换。
答案 2 :(得分:0)
我为此目的做了一个扩展:https://visualstudiogallery.msdn.microsoft.com/5a3251d7-3228-4813-a67e-6b9cc83d0507
来源在这里:https://github.com/Dllieu/VisualStudioCppExtensions
导入所有文件后(例如与第二个屏幕截图相同),只需右键单击C ++项目并单击“生成C ++项目过滤器”,它将创建所有过滤器以复制文件夹层次结构你的文件