我正在尝试FLENS-LAPACK的教程(http://apfel.mathematik.uni-ulm.de/~lehn/FLENS/flens/examples/lapack-geqp3.html)。 我从网站(https://github.com/michael-lehn/FLENS)下载了src代码。
当我尝试教程中的指令时
g++ -std=c++11 -Wall -I../.. -o lapack-geqp3 lapack-geqp3.cc
我从控制台收到错误:
In file included from lapack-geqp3.cc:2:0: ../../flens/flens.cxx:45:6: error: static assertion failed: GNU GCC Version 4.7 or higher required! static_assert(__GNUG__>=4 && __GNUC_MINOR__>=7,
我检查了我的mac的gcc版本
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin14.0.0/5.0.0/lto-wrapper Target: x86_64-apple-darwin14.0.0
Configured with: ../gcc-5-20141005/configure --enable-languages=c++,fortran Thread model: posix
gcc version 5.0.0 20141005 (experimental) (GCC)
它显示我的mac有gcc 5.0.0。 谁能告诉我我的Mac上的gcc有什么问题? 非常感谢!!
答案 0 :(得分:3)
您的GCC注意到错误,static_assert
错误。
static_assert(__GNUG__>=4 && __GNUC_MINOR__>=7, ...)
这会检查GCC是版本4.x还是更新版本,但还次要版本7或更新版本。这个断言只传递4.7,4.8,4.9,5.7,5.8等......
如果断言改变如此:
static_assert(__GNUG__==4 && __GNUC_MINOR__>=7 || __GNUG__>4, ...)
然后它应该传递给GCC 5(假设它将__GNUG__
定义为5;我现在无法检查。)
编辑:我已submitted a patch解决此问题,该问题已被接受并合并。如果你拉最新的HEAD,你的问题应该修复。