visual valido studio seleccione puede proyecto inicio encuentra elemento como archivo abrir c++ visual-studio-2008 cmake

c++ - valido - no se encuentra el archivo pdb o no se puede abrir visual studio 2017



Listado de archivos de encabezado en el proyecto Visual Studio C++ generado por cmake (3)

Estoy construyendo un sistema de compilación basado en cmake para nuestro producto. El problema es que el proyecto de Visual Studio, generado por cmake, no muestra los archivos de encabezado en el navegador de soluciones.

¿Qué necesito agregar en CMakeList.txt para listar los archivos de encabezado? La solución preferida es donde no es necesario listar cada archivo de encabezado particular.

Solución Aquí hay una solución con la que vine:

file(GLOB_RECURSE INCS "*.h") add_library(myLib ${SRCS} ${INCS})

Gracias


El truco básico para esto es agregar los archivos de encabezado a uno de los objetivos (ya sea ejecutable o biblioteca). Esto es particularmente irritante porque cmake ya conoce todas las dependencias del archivo de encabezado y debería ocuparse de esto por nosotros. Puede organizarlo aún más utilizando el comando source_group :

source_group("My Headers" FILES ${MY_HDRS})

Tenga en cuenta que debe hacer lo mismo en Xcode también.


Simplemente agregue los archivos de encabezado junto con los archivos de origen:

PROJECT (Test) ADD_EXECUTABLE(Test test.cpp test.h)

O usando variables:

PROJECT (Test) SET(SOURCE test.cpp ) SET(HEADERS test.h ) ADD_EXECUTABLE(Test ${SOURCE} ${HEADERS})


Tuve el mismo problema mientras trabajaba en un sistema de compilación para un proyecto de Qt y salí con esta solución, gracias a las otras publicaciones en esta página. Incluí un ejemplo completo adaptado de mis makefiles. ¡Espero que esto ayude!

cmake_minimum_required (VERSION 2.6) project (DemoSolution) find_package(Qt4 REQUIRED) include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) include_directories (../../include/) set(CMAKE_INCLUDE_CURRENT_DIR ON) file(GLOB Demo_SOURCES *.cpp) file(GLOB Demo_HEADERS *.hpp) file(GLOB Demo_FORMS *.ui) file(GLOB Demo_RESOURCES resources.qrc) qt4_wrap_cpp(Demo_MOC ${Demo_HEADERS}) qt4_wrap_ui(Demo_FORMS_HEADERS ${Demo_FORMS}) qt4_add_resources(Demo_RESOURCES_RCC ${Demo_RESOURCES}) source_group("Headers" FILES ${Demo_HEADERS}) source_group("MOC" FILES ${Demo_MOC}) set(QT_USE_QTNETWORK, true) set(QT_USE_QTSQL, true) set(QT_USE_QTXML, true) add_library(Demo SHARED ${Demo_SOURCES} ${Demo_HEADERS} ${Demo_MOC} ${Demo_FORMS_HEADERS} ${Demo_RESOURCES_RCC} ) target_link_libraries(Demo ${QT_LIBRARIES}) add_definitions(-D_DEMO_EXPORTS)