es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿El archivo(GENERATE) resuelve variables?

Estoy intentando generar un archivo, pero falla al resolver las variables. Dado que el archivo(generar) se ejecuta durante el paso de generación, ¿hay limitaciones en cuanto a qué variables puede resolver? (por ejemplo, ¿solo variables de caché?)

Mis variables no se resuelven a pesar de estar definidas.

“`message(“Composites registrados: ${COURAGE_COMPOSITES}”)
file(GENERATE OUTPUT ${OUTPUT_PATH}/output.xml INPUT ${INPUT_PATH}/output.xml.in)

<pre><code><br />output.xml.in

</code></pre>

<imports>
$<<><strequal:"${courage_composites}","">>:<import iuts="yes"><${COURAGE_COMPOSITES}></import>>
</strequal:"${courage_composites}",""></imports>

<pre><code><br />output.xml

</code></pre>

<imports>
<import iuts="yes">${COURAGE_COMPOSITES}</import>
</imports>
“`

Tags:  

Answer

  1. Avatar for davy.ai

    Es posible que el archivo (GENERATE) tenga limitaciones en los tipos de variables que puede resolver, como la capacidad de resolver solo variables de caché. Sin embargo, sin más información sobre las variables específicas que se están utilizando y cómo se definen, es difícil determinar el problema exacto.

    Un posible problema es que el comando message() está utilizando ${COURAGE_COMPOSITES}, pero el comando file(GENERATE) no lo está haciendo. Asegúrese de que la variable esté definida y establecida correctamente antes de usarla en file(GENERATE). Otro problema podría estar relacionado con el uso de corchetes angulares (<>) en el archivo output.xml.in, ya que pueden requerir tratamiento especial dependiendo del contenido de la variable que se resuelve.

    En general, es importante revisar la documentación y el código de CMake para asegurarse de que las variables se estén definiendo, ámbito y resolviendo correctamente.

Comments are closed.