Installing a C/C++ library with homebrew on M1 Macs In Linux, when a C/C++ library is installed through a package manager, the C/C++ compiler on the system is immediately able to find the installed library. I haven't used Intel Macs but this is definitely not the case in M1 Macs.
On M1 Macs, homebrew package manager installs software and libraries under /opt folder. It seems that clang that comes with XCode is not able to recognize this path so each time I compile my program against a particular library, I need to specify the library path using compiler's appropriate flag.
Is there a way to make clang compiler in M1 Macs recognize installed C/C++ library paths by default?
Add an environment variable as follows
export CPATH=/opt/homebrew/include
export LIBRARY_PATH=/opt/homebrew/lib

to the file corresponding to the shell, like ~/.bash_profile for bash.
Alternatively create CMake file with content like
link_directories(&quot;/opt/homebrew/lib&quot;)
include_directories(&quot;/opt/homebrew/include&quot;)

Or
set(CMAKE_EXE_LINKER_FLAGS &quot;-L/opt/homebrew/lib &quot; CACHE STRING &quot;&quot; FORCE)
set(CMAKE_C_FLAGS   &quot;-I/opt/homebrew/include &quot; CACHE STRING &quot;&quot; FORCE )
set(CMAKE_CXX_FLAGS &quot;-I/opt/homebrew/include &quot; CACHE STRING &quot;&quot; FORCE)

and create projects like cmake -C ../link_dir.cmake -B ../build -S .