When compiling a Linux-oriented tool written in C/C++ on macOS, you might encounter the following error:
fatal error: 'argp.h' file not found
#include <argp.h>
         ^~~~~~~~
1 error generated.
This means that the library for parsing command-line arguments, argp.h, is missing.
Solution
Fortunately, you can install this library using Homebrew.
brew install argp-standalone
After installing, verify the files:
brew ls argp-standalone
/opt/homebrew/Cellar/argp-standalone/1.3/include/argp.h
/opt/homebrew/Cellar/argp-standalone/1.3/lib/libargp.a
/opt/homebrew/Cellar/argp-standalone/1.3/sbom.spdx.json
Since there is no .pc file, you can't use pkg-config. Instead, you need to specify the paths directly.
cc hoge.c \
  -largp \
  -L /opt/homebrew/Cellar/argp-standalone/1.3/lib/ \
  -I /opt/homebrew/Cellar/argp-standalone/1.3/include/ \
  -o hoge
With these steps, you should be able to resolve the issue of missing argp.h on macOS.
    
Top comments (0)