当我试着在linux下编译一些库,比如OpenCV或OpenBLAS时,我经常会遇到这样的问题
error: invalid operands (*UND* and *UND* sections) for '*'
我知道这是一个程序集错误,但大多数情况下,当这个问题出现时,它与编译器生成的临时程序集文件有关(gcc、g++、gfortran,取决于库)。
我不熟悉组装,完全不知道如何修复它。
你能帮我更好地理解如何修复它吗?
注意,我正在开发Debian Jessy,但我在其他几个基于Debian的发行版(如Ubuntu和Mint)中也遇到了这个问题。
当我写这行时,我在编译OpenCV的库时遇到了一个错误。
由g++发送的消息是:
更准确地说:
/tmp/ccL3rvH2.s: Assembler messages:
/tmp/ccL3rvH2.s:533: Error: invalid operands (*UND* and *UND* sections) for `*'
modules/imgproc/CMakeFiles/opencv_imgproc.dir/build.make:592: recipe for target 'modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/gabor.cpp.o' failed
make[2]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/gabor.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/tmp/cciiML9T.s: Assembler messages:
/tmp/cciiML9T.s:88450: Error: invalid operands (*UND* and *UND* sections) for `*'
/tmp/cciiML9T.s:105860: Error: invalid operands (*UND* and *UND* sections) for `*'
modules/imgproc/CMakeFiles/opencv_imgproc.dir/build.make:760: recipe for target 'modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/imgwarp.cpp.o' failed
make[2]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/src/imgwarp.cpp.o] Error 1
CMakeFiles/Makefile2:2378: recipe for target 'modules/imgproc/CMakeFiles/opencv_imgproc.dir/all' failed
make[1]: *** [modules/imgproc/CMakeFiles/opencv_imgproc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
*