1. openssl配置
cd /usr/local/lib/pkgconfig
ln -s ../../Cellar/openssl@1.1/1.1.1i/lib/pkgconfig/libcrypto.pc libcrypto.pc
ln -s ../../Cellar/openssl@1.1/1.1.1i/lib/pkgconfig/libssl.pc libssl.pc
ln -s ../../Cellar/openssl@1.1/1.1.1i/lib/pkgconfig/openssl.pc openssl.pc
2. boost配置
https://github.com/nmante/pkg-config-generator
python main.py -n boost -v 1.75.0 -p /usr/local/Cellar/boost/1.75.0_1 -o boost.pc /usr/local/Cellar/boost/1.75.0_1/lib
pkg-config-generator git:(master) ✗ cat boost.pc
# Package Information for pkg-config
prefix=/usr/local/Cellar/boost/1.75.0_1
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/boost
includedir_new=${prefix}/include
Name: boost
Description:
Version: 1.75.0
Libs: -L${exec_prefix}/lib -lboost_prg_exec_monitor-mt -lboost_unit_test_framework-mt -lboost_math_c99f-mt -lboost_math_c99f -lboost_stacktrace_basic-mt -lboost_math_tr1l -lboost_stacktrace_noop-mt -lboost_log-mt -lboost_regex-mt -lboost_type_erasure -lboost_stacktrace_basic -lboost_filesystem -lboost_thread-mt -lboost_math_tr1f-mt -lboost_serialization-mt -lboost_graph -lboost_timer -lboost_nowide -lboost_stacktrace_addr2line -lboost_contract -lboost_test_exec_monitor-mt -lboost_container -lboost_math_tr1 -lboost_type_erasure-mt -lboost_nowide-mt -lboost_program_options-mt -lboost_fiber-mt -lboost_wave -lboost_contract-mt -lboost_date_time -lboost_stacktrace_noop -lboost_filesystem-mt -lboost_random -lboost_system -lboost_locale-mt -lboost_json -lboost_wserialization -lboost_regex -lboost_exception -lboost_timer-mt -lboost_date_time-mt -lboost_log_setup-mt -lboost_math_c99-mt -lboost_math_tr1-mt -lboost_graph-mt -lboost_serialization -lboost_prg_exec_monitor -lboost_exception-mt -lboost_coroutine -lboost_log_setup -lboost_math_c99 -lboost_iostreams-mt -lboost_system-mt -lboost_program_options -lboost_container-mt -lboost_atomic-mt -lboost_random-mt -lboost_math_c99l -lboost_stacktrace_addr2line-mt -lboost_math_tr1l-mt -lboost_context-mt -lboost_wserialization-mt -lboost_coroutine-mt -lboost_log -lboost_chrono-mt -lboost_wave-mt -lboost_unit_test_framework -lboost_test_exec_monitor -lboost_math_tr1f -lboost_iostreams -lboost_chrono -lboost_json-mt -lboost_math_c99l-mt
Cflags: -I${includedir_old} -I${includedir_new}
pkg-config boost --libs
-L/usr/local/Cellar/boost/1.75.0_1/lib -lboost_prg_exec_monitor-mt -lboost_unit_test_framework-mt -lboost_math_c99f-mt -lboost_math_c99f -lboost_stacktrace_basic-mt -lboost_math_tr1l -lboost_stacktrace_noop-mt -lboost_log-mt -lboost_regex-mt -lboost_type_erasure -lboost_stacktrace_basic -lboost_filesystem -lboost_thread-mt -lboost_math_tr1f-mt -lboost_serialization-mt -lboost_graph -lboost_timer -lboost_nowide -lboost_stacktrace_addr2line -lboost_contract -lboost_test_exec_monitor-mt -lboost_container -lboost_math_tr1 -lboost_type_erasure-mt -lboost_nowide-mt -lboost_program_options-mt -lboost_fiber-mt -lboost_wave -lboost_contract-mt -lboost_date_time -lboost_stacktrace_noop -lboost_filesystem-mt -lboost_random -lboost_system -lboost_locale-mt -lboost_json -lboost_wserialization -lboost_regex -lboost_exception -lboost_timer-mt -lboost_date_time-mt -lboost_log_setup-mt -lboost_math_c99-mt -lboost_math_tr1-mt -lboost_graph-mt -lboost_serialization -lboost_prg_exec_monitor -lboost_exception-mt -lboost_coroutine -lboost_log_setup -lboost_math_c99 -lboost_iostreams-mt -lboost_system-mt -lboost_program_options -lboost_container-mt -lboost_atomic-mt -lboost_random-mt -lboost_math_c99l -lboost_stacktrace_addr2line-mt -lboost_math_tr1l-mt -lboost_context-mt -lboost_wserialization-mt -lboost_coroutine-mt -lboost_log -lboost_chrono-mt -lboost_wave-mt -lboost_unit_test_framework -lboost_test_exec_monitor -lboost_math_tr1f -lboost_iostreams -lboost_chrono -lboost_json-mt -lboost_math_c99l-mt
➜ build git:(master)
pkg-config boost --cflags
-I/usr/local/Cellar/boost/1.75.0_1/include/boost -I/usr/local/Cellar/boost/1.75.0_1/include
➜ build git:(master) pkg-config boost --help
Usage:
pkg-config [OPTION...]
Help Options:
-h, --help Show help options
Application Options:
--version output version of pkg-config
--modversion output version for package
--atleast-pkgconfig-version=VERSION require given version of pkg-config
--libs output all linker flags
--static output linker flags for static linking
--short-errors print short errors
--libs-only-l output -l flags
--libs-only-other output other libs (e.g. -pthread)
--libs-only-L output -L flags
--cflags output all pre-processor and compiler flags
--cflags-only-I output -I flags
--cflags-only-other output cflags not covered by the cflags-only-I option
--variable=NAME get the value of variable named NAME
--define-variable=NAME=VALUE set variable NAME to VALUE
--exists return 0 if the module(s) exist
--print-variables output list of variables defined by the module
--uninstalled return 0 if the uninstalled version of one or more module(s) or their dependencies will be used
--atleast-version=VERSION return 0 if the module is at least version VERSION
--exact-version=VERSION return 0 if the module is at exactly version VERSION
--max-version=VERSION return 0 if the module is at no newer than version VERSION
--list-all list all known packages
--debug show verbose debug information
--print-errors show verbose information about missing or conflicting packages (default unless --exists or --atleast/exact/max-version given on the command line)
--silence-errors be silent about errors (default when --exists or --atleast/exact/max-version given on the command line)
--errors-to-stdout print errors from --print-errors to stdout not stderr
--print-provides print which packages the package provides
--print-requires print which packages the package requires
--print-requires-private print which packages the package requires for static linking
--validate validate a package's .pc file
--define-prefix try to override the value of prefix for each .pc file found with a guesstimated value based on the location of the .pc file
--dont-define-prefix don't try to override the value of prefix for each .pc file found with a guesstimated value based on the location of the .pc file
--prefix-variable=PREFIX set the name of the variable that pkg-config automatically sets