编译配置 CPPFLAGS
和 LDFLAGS
¶
CPPFLAGS
是编译器参数,用于定义头文件(header)include
目录LDFLAGS
是链接器(linker)参数,用于定义库文件(libraries)lib
目录
在 configure
可以向编译器传递上述参数,指定头文件(编译时使用)和库文件(链接时使用)
例如 macOS环境编译NGINX ,可以在 configure NGNIX 时候采用:
./configure \
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-stream \
--with-mail=dynamic \
--add-module=/usr/build/nginx-rtmp-module \
--add-dynamic-module=/usr/build/3party_module \
CPPFLAGS="-I/opt/pcre2/include -I/opt/zlib/include -I/opt/openssl/include" \
LDFLAGS="-L/opt/pcre2/lib -L/opt/zlib/lib -L/opt/openssl/lib"
也可以在环境变量中配置好,这样就不用每次 configure
时传递
cat << EOF > /opt/build_env
CPPFLAGS="-I/opt/pcre2/include -I/opt/zlib/include -I/opt/openssl/include" \
LDFLAGS="-L/opt/pcre2/lib -L/opt/zlib/lib -L/opt/openssl/lib"
export CPPFLAGS LDFLAGS
EOF
. /opt/build_env