Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 组织CMake项目,以便在Visual C+中轻松浏览源代码+;_Visual C++_Cmake - Fatal编程技术网

Visual c++ 组织CMake项目,以便在Visual C+中轻松浏览源代码+;

Visual c++ 组织CMake项目,以便在Visual C+中轻松浏览源代码+;,visual-c++,cmake,Visual C++,Cmake,(我是CMake的新手,对Visual Studio不太熟悉。) 我需要实现一个相对较大的库,解决方案/项目文件将由CMake生成,我的问题是我希望VC GUI中的文件组织反映磁盘上的目录结构 基本上,库被分成不同的部分。例如,其中一个称为“common”,将实现库使用的一些头。在磁盘上,它将位于一个特定的“公共”目录中,该目录可能有一个或多个子目录 src/ common/ ... portfolio/ ... asset/ contracts/

(我是CMake的新手,对Visual Studio不太熟悉。)

我需要实现一个相对较大的库,解决方案/项目文件将由CMake生成,我的问题是我希望VC GUI中的文件组织反映磁盘上的目录结构

基本上,库被分成不同的部分。例如,其中一个称为“common”,将实现库使用的一些头。在磁盘上,它将位于一个特定的“公共”目录中,该目录可能有一个或多个子目录

src/
   common/
     ...
   portfolio/
     ...
   asset/
     contracts/
     physical_assets/
     ...
   mathutils/
   ...
我希望在Visual Studio的解决方案资源管理器中看到相同的内容, 但我只知道如何将解决方案拆分为不同的项目。
我该怎么做

不确定这是否是您想要的,但是:首先确保将“工具->选项->项目和解决方案->解决方案浏览器模式”设置为“显示所有文件”。然后,如果在根源目录(可能与CMakeLists.txt所在的目录相同)中创建VS项目,VS将显示该目录及其所有子目录中的所有文件

我认为你做不到。如果使用“显示所有文件”,您将获得所需的内容,但仅限于项目级别。在根目录下创建VS项目可以让您查看所有文件,但您仍然需要为每个要生成的exe/dll/等创建单独的项目。请记住,VS术语中的解决方案是一组项目,而不是目录树。

您可以使用CMake FAQ的
源代码组来实现这一点。

我找不到这些选项。我的版本是VC7.1。)此外,我可以看到所有文件,但它们都显示在解决方案资源管理器的同一目录中。这不是你的Visual C++版本发生的吗?啊,我用VS2008…我看到了整个目录结构,因为ot在磁盘上。谢谢你的回答。我可以在VisualC++中手动创建子目录,在解决方案资源管理器(右击Addio->新目录)中,所以我认为这不是不可能的,但只是没有被CMASE处理。问题是,在下次运行CMake时,解决方案将被重写,所以在VS中对解决方案的任何更改都将在那时丢失。