在使用cmake构建的项目中添加头文件和.cpp文件

mar*_*kos 14 c++ header project cmake visual-studio-2010

我已经使用cmake和一些库构建了一个项目.但是我想在项目中添加一些头文件和.cpp文件,我将编写代码.最简单的方法是什么?我可以创建一个.cpp和头文件吗?文件,然后在Visual Studio中再次构建项目?或者由于项目是使用cmake构建的,我不能?

her*_*tao 18

您可以将所有标头/源文件放在同一个文件夹中并使用类似的内容

file(GLOB SOURCES
    header-folder/*.h
    source-folder/*.cpp
)

add_executable(yourProj ${SOURCES})
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以执行以下两种方法之一,将新添加的标头/源添加到VS中:

  1. 需要再次在CMake中生成.
  2. 假的编辑CMakeLists.txt一点,例如简单地添加一个空格.然后在VS中构建您的解决方案,它将自动添加新的头/源文件.

  • `GLOB_RECURSE`代替`GLOB`也搜索子目录!这就是我所需要的. (8认同)
  • @Shiro您可以在上面添加类似“header-folder/anotherdir/*.h”的内容,或者使用[CMake子目录](http://stackoverflow.com/q/7787823/2589776)。 (2认同)

ras*_*ash 5

你需要在每个添加.h.cpp文件CMakeList.txt这样的:

# Local header files here ONLY
SET(TARGET_H
    Header.h
    Plugin.h
    messagelog.h
    win32application.h
    timer.h    
   )

# Local source files here
SET(TARGET_SRC
    Plugin.cpp
    messagelog.cpp
    win32application.cpp
    timer.cpp
    )
Run Code Online (Sandbox Code Playgroud)

然后再次配置并构建解决方案,然后将其重新加载到VS中。

  • 是的,但是每次我想添加 nea 标头或 .cpp 文件时,我都必须使用 cmake 重新构建整个程序。我可以通过 Visual Studio 做些什么来实现此目的吗? (2认同)