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.

¿Cómo especificar correctamente las opciones idiosincrásicas del compilador ICC en CMake?

El Intel C/C++ tiene una serie de banderas personalizadas, algunas de las cuales mezclan la compilación y la vinculación (como -qopenmp), y otras son simplemente formas alternativas idiosincrásicas (como -ipp para vinculación con las bibliotecas ipp de Intel).

Puedo agregar estas banderas “manualmente” a las banderas del compilador e ignorar el hecho de que pueden tener implicaciones de vinculación; o agregarlas tanto a las banderas de compilación como de vinculación. Pero ambas alternativas parecen “incorrectas”. ¿Cómo debo trabajar correctamente con las diversas banderas específicas de ICC en CMake?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para trabajar correctamente con las distintas banderas específicas de ICC en CMake, se recomienda utilizar las propiedades de destino adecuadas para cada bandera. Por ejemplo, para -qopenmp, se utilizaría la propiedad CMAKE_CXX_FLAGS para establecer la bandera durante la compilación, y la propiedad CMAKE_EXE_LINKER_FLAGS para establecerla durante la vinculación. Alternativamente, se pueden utilizar propiedades específicas del destino como COMPILE_FLAGS y LINK_FLAGS para establecer las banderas.

    Además, se puede utilizar el comando target_link_libraries para vincular con las bibliotecas de IPP de la siguiente manera:

    target_link_libraries(my_target intelipp)
    

    Esto modificaría el proceso de vinculación para incluir las bibliotecas de IPP.

    En general, es importante utilizar las propiedades de destino adecuadas de CMake para establecer las banderas específicas de ICC, ya que esto garantiza que las banderas se utilicen correctamente durante la compilación y la vinculación.

Comments are closed.