是否可以覆盖 make / configure / cmake 中的运行时检测标志来检测体系结构优化级别并覆盖它?
例如 ./ configure & make 将检测具有SSE的现代CPU,例如,我想覆盖它并设置:当gcc编译.cpp文件时,它将始终使用 -march = i586
这可能吗?谢谢!
答案 0 :(得分:1)
./ configure --help
会帮助你
Some influential environment variables:
CXX C++ compiler command
CXXFLAGS C++ compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CC C compiler command
CFLAGS C compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
CFLAGS =“”./ configure
答案 1 :(得分:0)
每个配置脚本都不同,没有灵丹妙药。如果要可靠地覆盖gcc编译器标志,请为/ usr / bin / gcc创建一个包装器脚本并添加/修改所需的标志,并将脚本放在PATH的开头。
您可以使用导出CC&amp; CXX指向你的gcc包装器脚本,但我已经看到了谓词'if CC ==“gcc”'的脚本,它会破坏。