Incluya variables de compilador de Intel en cmake makefile -- macos campo con cmake campo con environment-variables campo con eclipse-cdt camp Relacionados El problema

Include Intel-compiler variables into CMake makefile


1
vote

problema

Español

Estoy usando CMAKE 2.8.6 y el último compilador Intel C ++ para un programa que se compila para Linux, MacOSX y Windows. Para el desarrollo, estoy usando Eclipse con CDT en Linux y MacOSX.

hasta hace poco usé CMAke para crear makes habituales que corrí desde la consola. Para tener un ambiente de trabajo, el compilador Intel viene con un script de concha llamado iccvars.sh que puede ser source D para establecer todos los requisitos de inclusión requeridos y las rutas de la biblioteca.

Ahora decidí dar la oportunidad de Eclipse-CDT Strip-System y usé el generador "Eclipse CDT4 - UNIX Makefiles" de CTAKET para crear un archivo de proyecto Eclipse. Todo funciona bien bajo Linux, pero en OSX, Eclipse no conoce las variables de entorno y, por lo tanto, se faltan caminos como y la compilación se detiene porque las bibliotecas no se encuentran.

actualización

Déjame explicar con más detalle lo que hago. Estoy corriendo

  cmake -G "Eclipse CDT4 - Unix Makefiles" path/to/src   

desde dentro del terminal donde se ejecutó source iccvars.sh y todas las variables de entorno están configuradas correctamente. Si hubiera creado un maquillaje normal allí y ejecutaría make , la compilación tendría éxito. Esto se debe a la DYLIB_LIBRARY_PATH6 (en Linux LD_LIBRARY_PATH ) está configurado correctamente y no tengo que dar -L/path/to/libs como opción para el compilador. < / p>

Pero en su lugar, comienzo a Eclipse e importar el DYLIB_LIBRARY_PATH69 creado que funciona bien. El problema es que Eclipse no conoce mi entorno en la consola y, por lo tanto, no puede encontrar las bibliotecas requeridas. Una solución sería usar source0 INTERIOR source11111 y localice cada biblioteca requerida porque entonces la ruta completa debe incluirse en los Makefiles creados. En su lugar, me preguntaba si ...

Pregunta: ¿Hay alguna manera de la fuente source2 en mis cmakelists.txt para que las rutas estén disponibles incluso cuando estoy ¿No en mi ambiente de terminal habitual? ¿Hay otras posibilidades?

Tenga en cuenta , que sé que puede establecer variables de entorno para los programas GUI en OSX. Lo que tiene que hacer es crear un archivo source3 en su casa en source4 . En este archivo XML, usted pone todas sus variables que debe tener un programa GUI. Esto funciona bien para otras aplicaciones, pero especialmente el constructor de Eclipse parece ignorar esto.

Original en ingles

I'm using CMake 2.8.6 and the latest Intel C++ Compiler for a program which is compiled for Linux, MacOSX and Windows. For the development I'm using Eclipse with CDT on Linux and MacOSX.

Until recently I used CMake to create usual Makefiles which I ran from the console. To have a working environment, the Intel compiler comes with a shell-script called iccvars.sh which can be sourced to set all required include- and library-paths.

Now I decided to give the Eclipse-CDT build-system a chance and used the "Eclipse CDT4 - Unix Makefiles" generator of CMake to create an Eclipse project file. Everything works fine under Linux, but under OSX, Eclipse does not know about the environment variables and therefore paths like DYLD_LIBRARY_PATH are missing and the compilation stops because libraries are not found.

Update

Let me explain in more detail what I do. I'm running

cmake -G "Eclipse CDT4 - Unix Makefiles" path/to/src 

from within the terminal where source iccvars.sh was executed and all environment-variables are set correctly. If I would have created a normal Makefile there and would run make, the compilation would succeed. This is because of the DYLIB_LIBRARY_PATH (in Linux LD_LIBRARY_PATH) is set correctly and I do not have to give -L/path/to/libs as option to the compiler.

But instead, I start Eclipse and import the created .project which works fine. The problem is that Eclipse do not know about my environment in the console and therefore cannot find the required libraries. One solution would be to use find_library inside CMakeLists.txt and locate every required library because then the full path should be included in the created Makefiles. Instead, I was wondering whether...

Question: Is there a way to source the iccvars.sh into my CMakeLists.txt so that the paths are available even when I'm not in my usual terminal-environment? Are there other possibilities?

Please note, that I know you can set environment variables for GUI-programs under OSX. What you have to do is to create a file environment.plist in your home under ~/.MacOSX. In this xml-file you put all your variables a GUI program should have. This works fine for other applications, but especially the Eclipse-builder seems to ignore this.

           
   
   

Lista de respuestas


Relacionados problema

0  No puedo encontrar el derecho llvm en macos  ( Cant find right llvm in macos ) 
Yo uso Lion, tenga el último XCode instalado. Así que creo que tengo llvm, clang y GCC4.2 (porque en Xcode puedo usarlos). Luego instalé Eclipse para los desa...

3  Eclipse C ++ Pretty Printing?  ( Eclipse c pretty printing ) 
La salida que obtenemos al imprimir las fuentes C ++ de Eclipse es bastante fea. Hay una forma / un complemento para imprimir bastante código de fuente C ++...

1  Vista-Eclipse (Galileo) CDT W / MINGW y MINGW GDB fallan a emitir salida CERR  ( Vista eclipse galileo cdt w mingw and mingws gdb fails to output cerr output ) 
Instalé Eclipse y puedo obtener G ++ para compilar el código correctamente; Sin embargo, cuando comienzo el depurador, ninguno de los "Cerr & GT; & GT"; Las s...

1  Eclipse: no se puede instalar CDT debido a una dependencia conflictiva  ( Eclipse cannot install cdt because of a conflicting dependency ) 
Mi eclipse ha sido configurado para Java y Pydev, ahora quiero configurar herramientas de desarrollo C / C ++ con Eclipse. No quiero descargar todo el IDE Ecl...

12  ¿Cómo hacer trabajo CDT / Eclipse con hilos C ++ 11?  ( How to make cdt eclipse work with c11 threads ) 
Intenté probar un ejemplo de los hilos C ++ 11 en Eclipse. Pero recibí este mensaje al ejecutar el programa: Terminado llamado después de lanzar una instan...

114  Referencia indefinida a `WinMain @ 16 '  ( Undefined reference to winmain16 ) 
Cuando intento construir un programa usando Eclipse CDT , obtengo lo siguiente: /mingw/lib/libmingw32.A (main.o): main.c :(. Texto + 0x106): Referencia ...

1  Eclipse CDT incluye rutas, "cadenas de herramientas", no puede encontrar cadena, cout, etc  ( Eclipse cdt include paths tool chains cannot find string cout etc ) 
Estoy tratando de usar CDT para editar archivos C ++. Sin embargo, se niega a ver las clases de STD como cadena y vector. (continuaré construyendo con Hacer...

7  Eclipse CDT Mover-File-File y Rename-File Refactoring?  ( Eclipse cdt move file and rename file refactoring ) 
¿Hay una manera en Eclipse CDT para hacer los siguientes refactoramientos automáticos? Mover Archivo : Mueva un archivo de origen / encabezado a otra carp...

4  Banderas predeterminadas para el compilador de GCC en Eclipse  ( Default flags for gcc compiler in eclipse ) 
Quiero que todos mis programas C compilen con las opciones { "ID": 0, "Dic": { "name1": "value1", "name2": "value2" } } 4 de for...

1  Eclipse CDT Multiuser Configuration  ( Eclipse cdt multiuser configuration ) 
Estamos tratando de configurar Eclipse CDT (versión Helios o Indigo) para nuestro entorno de desarrollo. Es un ambiente multiusuario, con aproximadamente 100 ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos