自动工具检查 C++11
Autotools check for C++11
我使用AX_CXX_COMPILE_STDCXX_0X
(可以在autoconf-archive上查看)来检查编译器的c ++ 11功能。它正确地确定-std=c++0x
必需的,但不会将其添加到CXXFLAGS
中。我查看了宏源,它实际上会检查但随后恢复以前的标志。
我应该怎么做才能CXXFLAGS
设置为能够编译 c++11 源代码?
仅仅向AM_CXXFLAGS
添加-std=c++0x
并不是一个好的解决方案,因为我想把使编译器以 C++11 模式编译的负担放在 autoconf 开发人员身上,而不是我身上。
您正在寻找的内容已经作为 AX_CXX_COMPILE_STDCXX_11
,自动会议存档的一部分。它会将所需的选项添加到环境中(以前通过 CXXFLAGS
,现在通过 CXX
),如果没有可用的 C++11 支持,则出错。
通常,
您可以编译一个简单的代码并根据编译结果设置变量
DIALECT="-std=c++14"
echo 'int main() {return 0;}' > ./log.cpp && $CXX -std=c++14 ./log.cpp || $DIALECT="no"
if test $DILAECT = no; then
AC_MSG_ERROR([c++ compiler does not support c++14])
else
echo $DILAECT
fi
相关文章:
- 如何在 c++ 中检查连续片段中数字被 11 整除
- 如何优雅地检查模板类型是否来自C 11中的特定基类
- Valgrind 检查简单多线程 C++11 得到 SIG11 错误
- 如何正确检查 std::function 在 C++11 中是否为空
- 双重检查和锁定模式在c++(而不是11)中有效吗
- 检查线程是否在 c++11 中完成
- 如何在运行时检查 c++11 元组是否有可能的函数应用程序
- 检查C 11中的运算符的最佳方法
- 检查是否使用了 C++11 功能
- C++11:对延迟初始化进行安全的双重检查锁定.可能的
- 在隐式构造函数中未检查C++11初始值设定项列表长度
- 自动工具检查 C++11
- 检查 C++11 库功能
- 如何检查arm-none linux-gnueabi-g++对C++11的支持
- 检查返回的 std::function 是否在 C++11 中"valid"
- C++11 检查成员的 COM 智能指针
- 如何在 c++11 std::regex_replace 中检查是否成功
- 如何检查特定 g++ 版本支持 C++11 的程度
- C++11检查标志的方法
- 在C++11#中检查类型定义