2014-12-24 493 views
0

我試圖在Cygwin的安裝mlpack和我已經安裝了犰狳,但我遇到了以下問題:找不到<execinfo.h>當設置mlpack

運行cmake的後../我運行make命令,這裏是過程:

$ make 
Scanning dependencies of target mlpack_headers 
Moving header files to include/mlpack/ 
[ 0%] Built target mlpack_headers 
Scanning dependencies of target mlpack 
[ 0%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/dists/discrete_distribution.cpp.o 
[ 1%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/dists/gaussian_distribution.cpp.o 
[ 2%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/dists/laplace_distribution.cpp.o 
[ 3%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/kernels/epanechnikov_kernel.cpp.o 
[ 4%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/kernels/pspectrum_string_kernel.cpp.o 
[ 5%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/math/lin_alg.cpp.o 
[ 6%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/math/random.cpp.o 
[ 6%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/aug_lagrangian/aug_lagrangian_test_functions.cpp.o 
[ 7%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/lbfgs/test_functions.cpp.o 
[ 8%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/lrsdp/lrsdp.cpp.o 
[ 9%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/lrsdp/lrsdp_function.cpp.o 
[ 10%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/optimizers/sgd/test_function.cpp.o 
[ 11%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/tree/cosine_tree/cosine_tree.cpp.o 
[ 12%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/tree/mrkd_statistic.cpp.o 
[ 12%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/util/cli.cpp.o 
[ 13%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/util/cli_deleter.cpp.o 
[ 14%] Building CXX object src/mlpack/CMakeFiles/mlpack.dir/core/util/log.cpp.o 
/home/Administrator/mlpack-1.0.11/mlpack-1.0.11/src/mlpack/core/util/log.cpp:24:24: 致命錯誤:execinfo.h:No such file or directory 
#include <execinfo.h> 


編譯中斷。 
src/mlpack/CMakeFiles/mlpack.dir/build.make:425: recipe for target 'src/mlpack/CMakeFiles/mlpack.dir/core/util/log.cpp.o' failed 
make[2]: * [src/mlpack/CMakeFiles/mlpack.dir/core/util/log.cpp.o] Error 1 
CMakeFiles/Makefile2:119: recipe for target 'src/mlpack/CMakeFiles/mlpack.dir/all' failed 
make[1]: * [src/mlpack/CMakeFiles/mlpack.dir/all] Error 2 
Makefile:116: recipe for target 'all' failed 
make: * [all] Error 2 

我不知道該如何處理這個問題。

回答

1

Cygwin的gnulib不提供execinfo.h,可能是由於底層(Windows)系統的兼容性問題。

gnulibdocumentation

這個頭文件丟失在某些平臺上:蘋果OS X 10.3,FreeBSD的6.0,NetBSD的5.0,OpenBSD 3.8開始,Minix的3.1.8,AIX 5.1,HP-UX 11 ,IRIX 6.5,OSF/1 5.1,Solaris 10,Cygwin,mingw,MSVC 9,Interix 3.5,BeOS。

您可能想嘗試使用WinAPI功能,如CaptureStackBackTrace

+0

我可以在cygwin中安裝execinfo.h嗎?我正在安裝一個C++庫,它需要這個頭文件。 –

+0

根據文檔,即使使用頭文件,execinfo.h函數的實現也只是存根。如果你的圖書館異想天開包含它,你可能會放棄它,但那不太可能。你最好的機會是尋找Cygwin特定的版本或補丁。圖書館的名字是什麼? – yossarian