컴파일 시간 강제 적용 범위 구성(예: CXXFLAGS 등)

컴파일 시간 강제 적용 범위 구성(예: CXXFLAGS 등)

강제하는 방법을 알고 싶습니다. 몇 가지 실제 예를 들어보세요.

  • CFLAGS='-O2 -march=native'
  • CXXFLAGS='-O2 -march=native'
  • CC='gcc-10'
  • CPP='gcc-10 -E'
  • CXX='g++-10'

configure제 경우에는 Transmission 3.00 BitTorrent 클라이언트용 스크립트를 실행할 때 어떻게 되나요?

파일을 편집하는 것은 configure약간 까다로워 보이며 더 중요한 것은 보편적으로 사용할 수 없다는 것입니다.

답변1

런타임 재정의 변수는 다음과 같이 configure해당 값을 매개변수로 지정하여 문서화됩니다 .configure./configure --help

`configure' configures transmission 3.00 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

당신에 관한 한,

./configure --disable-cli --disable-mac --disable-daemon --enable-utp --with-gtk --with-crypto=openssl CFLAGS='-O2 -march=native' CXXFLAGS='-O2 -march=native' CC=gcc-10 CPP='gcc-10 -E' CXX=g++-10

configure기본적으로 환경 변수 고려, 그렇기 때문에설정도 작동합니다. 두 경우 모두 설정 값이 저장되고 config.status(변수가 "귀중"으로 표시된 경우) 고려됩니다 config.status --recheck. Autoconf 문서변수를 매개변수로 지정하는 것이 좋습니다.환경에 의존하기보다는

답변2

Transmission 3.00에서 저에게 효과적인(공식은 아니지만) 다음 ./configure과 같이 간단히 다음을 추가하는 것입니다. 명령을 변경하지 않고 전체적으로 입력하겠습니다.

CFLAGS='-O2 -march=native' CXXFLAGS='-O2 -march=native' CC='gcc-10' CPP='gcc-10 -E' CXX='g++-10' ./configure --disable-cli --disable-mac --disable-daemon --enable-utp --with-gtk --with-crypto=openssl

관련 정보