奇怪編譯問題 FLOAT_REGS
C:/pkg69ppc/target/libmcosql/sql.cpp:1682:error: unable to find a register to spill in class 'FLOAT_REGS'
C:/pkg69ppc/target/libmcosql/sql.cpp:1682:error: this is the insn:
(insn:HI 58 57 60 5C:/pkg69ppc/target/libmcosql/sql.cpp:1477 (set (reg/v:DI 149 [ start ])
(reg:DI 3 3)) 350 {*movdi_internal32} (expr_list:REG_DEAD (reg:DI 3 3)
(insn_list:REG_RETVAL 54 (nil))))
C:/pkg69ppc/target/libmcosql/sql.cpp:1682:confused by earlier errors, bailing out
E:\WindRiver\utilities-1.0\x86-win32\bin\make.exe:*** [libmcosql/NonDebug/Objects/libmcosql/sql.o] Error 1
soluation:
下文給出瞭解決方案:
http://www0.cs.ucl.ac.uk/staff/ucacbbl/opencv-2.4.3/
————————————————————————
This bug has been reported in stackoverflow.com.
Being unable to find a register to spillappears to be a problem with some versions of gcc(bugzilla 35135).
http://stackoverflow.com/questions/13580485/error-in-making-opencv
的說明:
YOUR_BUILD_DIR/modules/features2d/CMakeFiles/opencv_features2d.dir/build.make
Search for freak.cpp. You find three blocks: Building CXX..., Preprocessing CXX..., and Compiling CX.... I just needed to change the Building part. The last line of that block looks like this:
.... YOUR_COMPILER $(CXX_DEFINES) $(CXX_FLAGS) ...
and if you check you find out that CXX_FLAGS has a -O3 in it. If you add -O0 after CXX_FLAGS it suppresses the O3. So your lines should look like this.
.... YOUR_COMPILER $(CXX_DEFINES) $(CXX_FLAGS) -O0 ...
http://m.blog.csdn.net/blog/deltatang/8989908