10 votos

Instalación de una biblioteca C/C++ con homebrew en Macs M1

En Linux, cuando se instala una biblioteca C/C++ a través de un gestor de paquetes, el compilador C/C++ del sistema es capaz de encontrar inmediatamente la biblioteca instalada. No he utilizado los Macs de Intel, pero definitivamente este no es el caso en los Macs M1.

En los Macs M1, homebrew El gestor de paquetes instala el software y las bibliotecas en /opt carpeta. Parece que clang que viene con XCode no es capaz de reconocer esta ruta por lo que cada vez que compilo mi programa contra una biblioteca en particular, tengo que especificar la ruta de la biblioteca utilizando la bandera apropiada del compilador.

¿Hay alguna manera de hacer clang ¿El compilador en los Macs M1 reconoce por defecto las rutas de las bibliotecas C/C++ instaladas?

16voto

awy Puntos 500

Añade una variable de entorno como la siguiente

export CPATH=/opt/homebrew/include
export LIBRARY_PATH=/opt/homebrew/lib

al archivo correspondiente al shell, como ~/.bash_profile para bash.

Alternativamente, cree un archivo CMake con contenido como

link_directories("/opt/homebrew/lib")
include_directories("/opt/homebrew/include")

O

set(CMAKE_EXE_LINKER_FLAGS "-L/opt/homebrew/lib " CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS   "-I/opt/homebrew/include " CACHE STRING "" FORCE )
set(CMAKE_CXX_FLAGS "-I/opt/homebrew/include " CACHE STRING "" FORCE)

y crear proyectos como cmake -C ../link_dir.cmake -B ../build -S .

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X