Tengo el Proyecto 1 con dependencias de Boost y GLM. Para Boost y GLM, he especificado los 'Directorios de inclusión adicionales' para hacer referencia a los archivos de C++ para cada uno. El Proyecto 1 se crea como un proyecto de biblioteca estática. Cuando construyo el Proyecto 1, todo se construye bien. Proyecto 2 Proyectos de referencia 1 a través del gestor de referencia, pero cuando construyo Proyecto 2, reciboCómo puedo heredar las dependencias/referencias del proyecto de un proyecto a un proyecto dependiente en Visual Studio
fatal error C1083: Cannot open include file: 'boost/something/etc.
para archivos en Proyecto 1. ¿Por qué recibiría errores sobre el Proyecto 1 cuando construyo el Proyecto 2? El Proyecto 1 también usa la biblioteca de expresiones regulares en Boost, que debe integrarse en un .lib
antes de su uso. ¿Cómo puedo hacer que mi biblioteca estática de Project 1 incorpore la biblioteca ReGex de Boost y que GLM incluya archivos en ella? Para su información, el Proyecto 2 es un proyecto de prueba para el proyecto 1. Estoy queriendo algo como esto:
(lib expresiones regulares Boost + GLM incluye) -> Proyecto 1 ==> Project_1.lib
(unidad Boost test lib + Project_1.lib) -> Project 2 ==> Project_2.exe
-->
indica dependencias/referencias y ==>
indica salida.
¿Esto es posible? Obtuve más errores de compilación y errores de enlazador de los que puedo contar mientras gano las ruedas en esto.
¿Tiene archivos fuente en el Proyecto 2 que incluyen archivos de encabezado del Proyecto 1? ¿Los archivos de encabezado del Proyecto 1 incluyen (directa o indirectamente) archivos de cabecera de Boost y/o GLM? –
Sí, tengo un archivo en el Proyecto 2 y tiene uno incluye: #include "MyFileReader" Mi "MyFileReader" incluye tanto Boost como GLM. GLM es una biblioteca de solo encabezado, fyi. – Wagan8r
Luego, haré lo que Preet sugiera y emplee declaraciones avanzadas y/o el modismo PIMPL para evitar exponer los detalles de implementación del Proyecto 1 a sus consumidores. –