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)