을 사용하려고합니다 ./configure
.
나는 가지고있다
세 개의 포함 디렉터리
-I/path1/include -I/path2/include -I/path3/include
두 개의 연결된 디렉터리
-L/path1/lib -L/path2/lib
두 가지
-l
로고 옵션-ltensorflow -lasan
두 개의 컴파일 플래그
-O3 -g
이러한 모든 플래그를 옵션으로 어떻게 효율적으로 넣을 수 있습니까 ./configure
?
답변1
이를 수행하는 표준적인 방법은 값을 제공하는 것입니다.다양한 변수./configure
통화 중 :
./configure CPPFLAGS="-I/path1/include -I/path2/include -I/path3/include" \
CFLAGS="-O3 -g" \
LDFLAGS="-L/path1/lib -L/path2/lib" \
LIBS="-ltensorflow -lasan"
C++ 컴파일러를 사용하는 경우 CXXFLAGS
대신(또는 추가로)을 지정합니다 CFLAGS
.
이러한 변수는 환경에서도 설정할 수 있지만권장되는 방법은 명령줄 인수로 지정하는 것입니다.재사용을 위해 값을 저장하기 위해. 바라보다컴파일 시간 강제 적용 범위 구성(예: CXXFLAGS 등)더 알아보기.
대부분의 경우 많은 경로를 플래그로 지정하는 것은 드문 일입니다. 대신 다양한 종속성을 찾을 수 있는 위치를 스크립트에 --with
알려주는 옵션을 찾고 싶습니다 . configure
예를 들어, --with-tensorflow=/path/to/tensorflow
이로 인해 적절한 -I
및 플래그가 설정됩니다. -L
달리기
./configure --help
어떤 옵션을 사용할 수 있는지 확인하세요.
답변2
export CFLAGS="-I/path1/include -I/path2/include -I/path3/include -O3 -g"
export CXXFLAGS=$CFLAGS
export LDFLAGS="-L/path1/lib -L/path2/lib -ltensorflow -lasan"
./configure && make