GithubHelp home page GithubHelp logo

eigen-cddlib's People

Contributors

barcode avatar stephane-caron avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

eigen-cddlib's Issues

Cmake problems

Hi Vincent,

Me and Arnaud found 1 + 1 issues with the cmake:

1. C++ 11 compilation option:

~/local/eigen-cddlib$ git diff 
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 211c304..83171eb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,6 +8,8 @@ set(PROJECT_URL "https://github.com/vsamy/eigen-cddlib")
 set(PROJECT_DEBUG_POSTFIX "_d")
 set(INSTALL_GENERATED_HEADERS OFF CACHE BOOL "Generate and install standard headers")
 
+set(CMAKE_CXX_STANDARD 11)
+
 set(DOXYGEN_USE_MATHJAX "YES")
 
 option(BUILD_TESTING "Build unit tests." ON)

2. old version of Boost

leads to a different location of the file floating_point_comparison.hpp

diff --git a/tests/TestPolyhedron.cpp b/tests/TestPolyhedron.cpp
index 0f6a584..57c999e 100644
--- a/tests/TestPolyhedron.cpp
+++ b/tests/TestPolyhedron.cpp
@@ -17,7 +17,7 @@
 
 #define BOOST_TEST_MODULE TestPolyhedron
 #include <Eigen/Core>
-#include <boost/test/tools/floating_point_comparison.hpp>
+#include <boost/test/floating_point_comparison.hpp>
 #include <boost/test/unit_test.hpp>
 #include <chrono>
 #include <iostream>

We ignored the test using ccmake and compiled it.

Maybe we need an update of the CMakeLists.txt ?

Best,

Yuquan

When i cmake opencv4.4(with cuda),raised some errors

the error as follow:
-- Detected processor: x86_64
-- Looking for ccache - not found
-- Found ZLIB: /lib64/libz.so (found suitable version "1.2.7", minimum required is "1.2.3")
-- Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
-- libjpeg-turbo: VERSION = 2.0.5, BUILD = opencv-4.4.0-libjpeg-turbo
-- Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
-- Could NOT find OpenJPEG (minimal suitable version: 2.0, recommended version >= 2.3.1)
-- Could NOT find Jasper (missing: JASPER_LIBRARIES JASPER_INCLUDE_DIR)
-- Found ZLIB: /lib64/libz.so (found version "1.2.7")
-- Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
-- Checking for module 'gtk+-3.0'
-- No package 'gtk+-3.0' found
-- Checking for module 'gtk+-2.0'
-- No package 'gtk+-2.0' found
-- Checking for module 'gtkglext-1.0'
-- No package 'gtkglext-1.0' found
-- found Intel IPP (ICV version): 2020.0.0 [2020.0.0 Gold]
-- at: /data1/yaoning.li/app/src/opencv/build/3rdparty/ippicv/ippicv_lnx/icv
-- found Intel IPP Integration Wrappers sources: 2020.0.0
-- at: /data1/yaoning.li/app/src/opencv/build/3rdparty/ippicv/ippicv_lnx/iw
-- Could NOT find CUDNN: Found unsuitable version "..10", but required is at least "7.5" (found /data1/yaoning.li/cuda/lib64/libcudnn.so)
-- CUDA detected: 10.2
-- CUDA NVCC target flags: -D_FORCE_INLINES
-- LAPACK(OpenBLAS): LAPACK_LIBRARIES: /lib64/libopenblas.so
-- LAPACK(OpenBLAS): Support is enabled.
-- OpenCV Python: during development append to PYTHONPATH: /data1/yaoning.li/app/src/opencv/build/python_loader
-- Checking for module 'gstreamer-base-1.0'
-- No package 'gstreamer-base-1.0' found
-- Checking for module 'gstreamer-app-1.0'
-- No package 'gstreamer-app-1.0' found
-- Checking for module 'gstreamer-riff-1.0'
-- No package 'gstreamer-riff-1.0' found
-- Checking for module 'gstreamer-pbutils-1.0'
-- No package 'gstreamer-pbutils-1.0' found
-- Checking for module 'libdc1394-2'
-- No package 'libdc1394-2' found
-- Caffe: NO
-- Protobuf: NO
-- Glog: YES
-- Checking for module 'freetype2'
-- No package 'freetype2' found
-- Checking for module 'harfbuzz'
-- No package 'harfbuzz' found
-- freetype2: NO
-- harfbuzz: NO
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Julia not found. Not compiling Julia Bindings.
-- Module opencv_ovis disabled because OGRE3D was not found
-- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
-- Found installed version of gflags: /usr/local/lib/cmake/gflags
-- Detected gflags version: 2.2.0
-- Checking SFM deps... TRUE
-- CERES support is disabled. Ceres Solver for reconstruction API is required.
-- Checking for module 'tesseract'
-- No package 'tesseract' found
-- Tesseract: NO
-- Allocator metrics storage type: 'long long'
-- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
-- Found installed version of gflags: /usr/local/lib/cmake/gflags
-- Detected gflags version: 2.2.0
-- Checking SFM deps... TRUE
-- CERES support is disabled. Ceres Solver for reconstruction API is required.

-- General configuration for OpenCV 4.4.0 =====================================
-- Version control: unknown

-- Extra modules:
-- Location (extra): /data1/yaoning.li/app/src/opencv_contrib/modules
-- Version control (extra): unknown

-- Platform:
-- Timestamp: 2023-03-01T08:07:14Z
-- Host: Linux 3.10.0-514.16.1.el7.x86_64 x86_64
-- CMake: 3.17.2
-- CMake generator: Unix Makefiles
-- CMake build tool: /usr/bin/gmake
-- Configuration: RELEASE

-- CPU/HW features:
-- Baseline: SSE SSE2 SSE3
-- requested: SSE3
-- Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
-- requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
-- SSE4_1 (15 files): + SSSE3 SSE4_1
-- SSE4_2 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2
-- FP16 (0 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
-- AVX (3 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
-- AVX2 (28 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
-- AVX512_SKX (3 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX

-- C/C++:
-- Built as dynamic libs?: YES
-- C++ standard: 11
-- C++ Compiler: /data1/yaoning.li/gcc/bin/c++ (ver 7.5.0)
-- C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
-- C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
-- C Compiler: /data1/yaoning.li/gcc/bin/cc
-- C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
-- C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
-- Linker flags (Release): -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a -Wl,--gc-sections -Wl,--as-needed
-- Linker flags (Debug): -Wl,--exclude-libs,libippicv.a -Wl,--exclude-libs,libippiw.a -Wl,--gc-sections -Wl,--as-needed
-- ccache: NO
-- Precompiled headers: NO
-- Extra dependencies: m pthread cudart_static dl rt nppc nppial nppicc nppicom nppidei nppif nppig nppim nppist nppisu nppitc npps cublas cufft -L/data1/yaoning.li/cuda/lib64 -L/lib64
-- 3rdparty dependencies:

-- OpenCV modules:
-- To be built: alphamat calib3d core cudaarithm cudabgsegm cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor ml objdetect optflow phase_unwrapping photo plot quality rapid sfm shape stitching structured_light superres surface_matching video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
-- Disabled: aruco bgsegm bioinspired ccalib cudacodec datasets dnn dnn_objdetect dnn_superres dpm face hdf python2 reg rgbd saliency stereo text tracking world
-- Disabled by dependency: -
-- Unavailable: cnn_3dobj cvv freetype java js julia matlab ovis python3 ts viz
-- Applications: apps
-- Documentation: NO
-- Non-free algorithms: YES

-- GUI:
-- GTK+: NO
-- OpenGL support: NO

-- Media I/O:
-- ZLib: /lib64/libz.so (ver 1.2.7)
-- JPEG: libjpeg-turbo (ver 2.0.5-62)
-- WEBP: build (ver encoder: 0x020f)
-- PNG: build (ver 1.6.37)
-- TIFF: build (ver 42 - 4.0.10)
-- JPEG 2000: build Jasper (ver 1.900.1)
-- OpenEXR: build (ver 2.3.0)
-- GDAL: NO
-- HDR: YES
-- SUNRASTER: YES
-- PXM: YES
-- PFM: YES

-- Video I/O:
-- DC1394: NO
-- FFMPEG: YES
-- avcodec: YES (56.26.100)
-- avformat: YES (56.25.101)
-- avutil: YES (54.20.100)
-- swscale: YES (3.1.101)
-- avresample: YES (2.1.0)
-- GStreamer: NO
-- v4l/v4l2: YES (linux/videodev2.h)
-- Xine: NO

-- Parallel framework: pthreads

-- Trace: YES (with Intel ITT)

-- Other third-party libraries:
-- Intel IPP: 2020.0.0 Gold [2020.0.0]
-- at: /data1/yaoning.li/app/src/opencv/build/3rdparty/ippicv/ippicv_lnx/icv
-- Intel IPP IW: sources (2020.0.0)
-- at: /data1/yaoning.li/app/src/opencv/build/3rdparty/ippicv/ippicv_lnx/iw
-- Lapack: YES (/lib64/libopenblas.so)
-- Eigen: YES (ver 3.4.0)
-- Custom HAL: NO
-- Protobuf: build (3.5.1)

-- NVIDIA CUDA: YES (ver 10.2, CUFFT CUBLAS FAST_MATH)
-- NVIDIA GPU arch:
-- NVIDIA PTX archs:

-- cuDNN: NO

-- OpenCL: YES (no extra features)
-- Include path: /data1/yaoning.li/app/src/opencv/3rdparty/include/opencl/1.2
-- Link libraries: Dynamic load

-- Python (for build): /data1/yaoning.li/anaconda3/envs/mmlab/bin/python

-- Install to: /data1/yaoning.li/app


--
-- Configuring done
-- Generating done
-- Build files have been written to: /data1/yaoning.li/app/src/opencv/build
[ 0%] Built target gen-pkgconfig
[ 0%] Built target ittnotify
[ 1%] Built target quirc
[ 1%] Built target opencv_videoio_plugins
[ 3%] Built target libjasper
[ 5%] Built target libpng
[ 5%] Built target numeric
[ 8%] Built target ippiw
[ 13%] Built target libtiff
[ 16%] Built target libjpeg-turbo
[ 17%] Built target ade
[ 25%] Built target libwebp
[ 25%] Built target opencv_cudev
[ 30%] Built target libprotobuf
[ 38%] Built target IlmImf
[ 39%] Built target multiview
[ 39%] Built target correspondence
[ 47%] Built target opencv_core
[ 47%] Built target opencv_version
[ 48%] Built target opencv_flann
[ 49%] Built target opencv_ml
[ 50%] Built target opencv_surface_matching
[ 53%] Built target opencv_cudaarithm
[ 60%] Built target opencv_imgproc
[ 60%] Built target opencv_quality
[ 60%] Built target opencv_phase_unwrapping
[ 60%] Building CXX object modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o
[ 60%] Built target opencv_plot
[ 60%] Built target opencv_img_hash
[ 61%] Built target opencv_alphamat
[ 61%] Built target opencv_hfs
[ 61%] Built target opencv_fuzzy
[ 62%] Built target opencv_cudawarping
[ 64%] Built target opencv_imgcodecs
[ 66%] Built target opencv_features2d
[ 67%] Built target opencv_line_descriptor
[ 69%] Built target opencv_cudafilters
[ 70%] Built target opencv_videoio
[ 71%] Built target opencv_highgui
[ 71%] Built target opencv_annotation
[ 71%] Built target opencv_visualisation
[ 72%] Built target opencv_cudafeatures2d
[ 74%] Built target opencv_calib3d
[ 75%] Built target opencv_rapid
[ 75%] Built target opencv_interactive-calibration
[ 75%] Built target opencv_structured_light
[ 76%] Built target opencv_cudastereo
[ 77%] Built target opencv_objdetect
[ 78%] Built target opencv_shape
[ 79%] Built target opencv_video
[ 80%] Built target opencv_xobjdetect
[ 83%] Built target opencv_cudaimgproc
Scanning dependencies of target opencv_gapi
Scanning dependencies of target opencv_waldboost_detector
[ 83%] Linking CXX shared library ../../lib/libopencv_cudabgsegm.so
[ 83%] Building CXX object modules/xobjdetect/tools/waldboost_detector/CMakeFiles/opencv_waldboost_detector.dir/waldboost_detector.cpp.o
[ 83%] Linking CXX shared library ../../lib/libopencv_cudalegacy.so
[ 83%] Linking CXX shared library ../../lib/libopencv_photo.so
[ 83%] Linking CXX shared library ../../lib/libopencv_xfeatures2d.so
[ 83%] Built target opencv_cudabgsegm
[ 86%] Built target opencv_ximgproc
[ 86%] Processing OpenCL kernels (optflow)
Scanning dependencies of target opencv_optflow
[ 87%] Built target opencv_cudalegacy
[ 88%] Built target opencv_photo
[ 88%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_lbp.cu.o
[ 89%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_hog.cu.o
Scanning dependencies of target opencv_xphoto
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gmat.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gorigin.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/garray.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gkernel.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gscalar.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gopaque.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gproto.cpp.o
[ 89%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gnode.cpp.o
[ 90%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gbackend.cpp.o
[ 90%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/bm3d_image_denoising.cpp.o
[ 92%] Built target opencv_xfeatures2d
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/dct_image_denoising.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/deepflow.cpp.o
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp: In function ‘cv::Mat cv::intensity_transform::solveLinearEquation(const cv::Mat_&, cv::Mat_&, cv::Mat_&, float)’:
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:136:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:136:30: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:145:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < tempy.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:158:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < W_h.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:160:21: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < W_h.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:160:34: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < W_h.rows(); i++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:17: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:30: error: ‘j’ was not declared in this scope
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:185:30: note: suggested alternative: ‘jn’
for (Eigen::Index j = 0; j < tempx.cols(); j++)
^
jn
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:187:21: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:187:34: error: ‘i’ was not declared in this scope
for (Eigen::Index i = 0; i < tempx.rows(); i++)
^
[ 92%] Linking CXX executable ../../../../bin/opencv_waldboost_detector
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: error: ‘IncompleteCholesky’ is not a member of ‘Eigen’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: note: suggested alternative: ‘IncompleteLUT’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
IncompleteLUT
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: error: ‘IncompleteCholesky’ is not a member of ‘Eigen’
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:92: note: suggested alternative: ‘IncompleteLUT’
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^~~~~~~~~~~~~~~~~~
IncompleteLUT
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:116: error: template argument 3 is invalid
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:221:118: error: expected unqualified-id before ‘>’ token
Eigen::ConjugateGradient<Eigen::SparseMatrix, Eigen::Lower|Eigen::Upper, Eigen::IncompleteCholesky > cg;
^
/data1/yaoning.li/app/src/opencv_contrib/modules/intensity_transform/src/bimef.cpp:222:5: error: ‘cg’ was not declared in this scope
cg.setTolerance(0.1f);
^~
[ 92%] Built target opencv_waldboost_detector
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/grayworld_white_balance.cpp.o
make[2]: *** [modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/src/bimef.cpp.o] Error 1
make[1]: *** [modules/intensity_transform/CMakeFiles/opencv_intensity_transform.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/learning_based_color_balance.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/inpainting.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/oilpainting.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/simple_color_balance.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gcall.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/interfaces.cpp.o
[ 92%] Building CXX object modules/xphoto/CMakeFiles/opencv_xphoto.dir/src/tonemap.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/gcomputation.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/motempl.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/pcaflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlof/geo_interpolation.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/operators.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlof/rlof_localflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/rlofflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/simpleflow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/sparse_matching_gpc.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_core.cpp.o
Scanning dependencies of target opencv_cudaobjdetect
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_imgproc.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/sparsetodenseflow.cpp.o
[ 92%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/cascadeclassifier.cpp.o
[ 92%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/hog.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/src/tvl1flow.cpp.o
[ 92%] Building CXX object modules/optflow/CMakeFiles/opencv_optflow.dir/opencl_kernels_optflow.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/kernels_video.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/render.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/render_ocv.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/ginfer.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/ft_render.cpp.o
[ 92%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gmodel.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gmodelbuilder.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gislandmodel.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gcompiler.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gcompiled.cpp.o
[ 93%] Linking CXX shared library ../../lib/libopencv_cudaobjdetect.so
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/gstreaming.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/helpers.cpp.o
[ 93%] Built target opencv_cudaobjdetect
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/dump_dot.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/islands.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/meta.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/kernels.cpp.o
[ 93%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/exec.cpp.o
[ 94%] Linking CXX shared library ../../lib/libopencv_optflow.so
[ 94%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/transformations.cpp.o
[ 94%] Built target opencv_optflow
[ 94%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/pattern_matching.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/perform_substitution.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/compiler/passes/streaming.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gexecutor.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gstreamingexecutor.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/executor/gasync.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpubackend.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpukernel.cpp.o
[ 95%] Linking CXX shared library ../../lib/libopencv_xphoto.so
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpuimgproc.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpuvideo.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/cpu/gcpucore.cpp.o
[ 95%] Built target opencv_xphoto
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidbuffer.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidbackend.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidimgproc.cpp.o
[ 95%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidimgproc_func.dispatch.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/fluid/gfluidcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclkernel.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclimgproc.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ocl/goclcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ie/giebackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ie/giebackend/giewrapper.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/render/grenderocvbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/render/grenderocv.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/plaidml/gplaidmlcore.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/plaidml/gplaidmlbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/gcompoundbackend.cpp.o
[ 96%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/gcompoundkernel.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/api/s11n.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/serialization.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.sse4_1.cpp.o
[ 97%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/backends/fluid/gfluidimgproc_func.avx2.cpp.o
[ 97%] Linking CXX shared library ../../lib/libopencv_gapi.so
[ 97%] Built target opencv_gapi
make: *** [all] Error 2

my eigen version is 3.4.0,and opencv version is 4.4.0

Memory corruption issue after calling "poly.setHrep(H, b)"

Hi Vincent!

I noticed an interesting issue recently. Following the test example, I wrapped eigen-cddlib's Polyhedron object in a function: vRepComdCone. It worked fine if I call the function once. As long as I try to call vRepComdCone consecutively, I got the following memory error:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff7681859 in __GI_abort () at abort.c:79
#2  0x00007ffff76ec26e in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7816298 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#3  0x00007ffff76f42fc in malloc_printerr (str=str@entry=0x7ffff78189f8 "malloc(): memory corruption (fast)") at malloc.c:5347
#4  0x00007ffff76f743c in _int_malloc (av=av@entry=0x7ffff784bb80 <main_arena>, bytes=bytes@entry=32) at malloc.c:3594
#5  0x00007ffff76fab95 in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3428
#6  0x00007ffff72f6ee6 in dd_InitializeArow () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#7  0x00007ffff72f6f5c in dd_InitializeAmatrix () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#8  0x00007ffff72f7512 in dd_CreateMatrix () from /usr/lib/x86_64-linux-gnu/libcdd.so.0
#9  0x00007ffff75de991 in Eigen::Polyhedron::initializeMatrixPtr (this=this@entry=0x7fffffffd2c0, rows=19, cols=4, isFromGenerators=isFromGenerators@entry=false)
    at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:112
#10 0x00007ffff75de9d0 in Eigen::Polyhedron::doubleDescription (this=this@entry=0x7fffffffd2c0, matrix=..., isFromGenerators=isFromGenerators@entry=false)
    at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:153
#11 0x00007ffff75ded99 in Eigen::Polyhedron::hvrep (this=0x7fffffffd2c0, A=..., b=..., isFromGenerators=false)
    at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:104
#12 0x00007ffff75dee23 in Eigen::Polyhedron::setHrep (this=this@entry=0x7fffffffd2c0, A=..., b=...) at /home/yuquan/local/eigen-cddlib/src/Polyhedron.cpp:50
#13 0x00007ffff7de52a2 in VelOpt::VelOptimizer::vRepComdCone (this=<optimized out>, nVel=@0x7fffffffd418: -0.14999999999999999)
    at /home/yuquan/local/impactvelocityoptimizer/src/VelOptimizer.cpp:53

For completeness, I also attached the function I made:
vRepComdCone.txt

error in build process

Hi,
I already installed eigen3 and when I cmake it says it found my eigen
However, when I try to make it, it shows

junhyeok@junhyeok-MacBookPro:~/eigen-cddlib/build$ make -j8
/usr/bin/cmake -H/home/junhyeok/eigen-cddlib -B/home/junhyeok/eigen-cddlib/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/junhyeok/eigen-cddlib/build/CMakeFiles /home/junhyeok/eigen-cddlib/build/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory `/home/junhyeok/eigen-cddlib/build'
make -f src/CMakeFiles/eigen-cddlib.dir/build.make src/CMakeFiles/eigen-cddlib.dir/depend
make[2]: Entering directory `/home/junhyeok/eigen-cddlib/build'
cd /home/junhyeok/eigen-cddlib/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/junhyeok/eigen-cddlib /home/junhyeok/eigen-cddlib/src /home/junhyeok/eigen-cddlib/build /home/junhyeok/eigen-cddlib/bu
ild/src /home/junhyeok/eigen-cddlib/build/src/CMakeFiles/eigen-cddlib.dir/DependInfo.cmake --color=
Scanning dependencies of target eigen-cddlib
make[2]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make -f src/CMakeFiles/eigen-cddlib.dir/build.make src/CMakeFiles/eigen-cddlib.dir/build
make[2]: Entering directory `/home/junhyeok/eigen-cddlib/build'
/usr/bin/cmake -E cmake_progress_report /home/junhyeok/eigen-cddlib/build/CMakeFiles 11
[ 50%] Building CXX object src/CMakeFiles/eigen-cddlib.dir/Polyhedron.cpp.o
cd /home/junhyeok/eigen-cddlib/build/src && /usr/bin/c++   -Deigen_cddlib_EXPORTS -Werror  -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -std=c++0x -Wall -W
extra -pedantic -O3 -DNDEBUG -fPIC -I/home/junhyeok/eigen-cddlib/build -I/home/junhyeok/eigen-cddlib/build/include -I/home/junhyeok/eigen-cddlib/include -isystem /usr/include/eigen3 -I/usr/include/cdd    -o CMakeF
iles/eigen-cddlib.dir/Polyhedron.cpp.o -c /home/junhyeok/eigen-cddlib/src/Polyhedron.cpp
In file included from /home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:18:0:
/home/junhyeok/eigen-cddlib/src/Polyhedron.h:74:37: error: ‘Eigen::Index’ has not been declared
     void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols);
                                     ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.h:74:56: error: ‘Eigen::Index’ has not been declared
     void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols);
                                                        ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:45: error: variable or field ‘initializeMatrixPtr’ declared void
 void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
                                             ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:38: error: ‘Index’ is not a member of ‘Eigen’
 void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
                                      ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:89:57: error: ‘Index’ is not a member of ‘Eigen’
 void Polyhedron::initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols)
                                                         ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp: In member function ‘bool Eigen::Polyhedron::doubleDescription(const MatrixXd&)’:
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:99:37: error: conversion to ‘int’ from ‘Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >::Index {aka long int}’ may alter its value [-Werror=conversion]
     initializeMatrixPtr(matrix.rows(), matrix.cols());
                                     ^
/home/junhyeok/eigen-cddlib/src/Polyhedron.cpp:99:52: error: conversion to ‘int’ from ‘Eigen::PlainObjectBase<Eigen::Matrix<double, -1, -1> >::Index {aka long int}’ may alter its value [-Werror=conversion]
     initializeMatrixPtr(matrix.rows(), matrix.cols());
                                                    ^
cc1plus: all warnings being treated as errors
make[2]: *** [src/CMakeFiles/eigen-cddlib.dir/Polyhedron.cpp.o] Error 1
make[2]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make[1]: *** [src/CMakeFiles/eigen-cddlib.dir/all] Error 2
make[1]: Leaving directory `/home/junhyeok/eigen-cddlib/build'
make: *** [all] Error 2

I would appreciate if you could help me :)

TestPolyhedron does not link

I can compile the project fine, but with BUILD_TESTING=ON I get a linking error on TestPolyhedron:

[ 75%] Linking CXX executable TestPolyhedron
cd /home/scaron/Software/eigen-cddlib/build/tests && /usr/local/bin/cmake -E cmake_link_script CMakeFiles/TestPolyhedron.dir/link.txt --verbose=1
/usr/bin/c++  -Werror  -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -O2 -g -DNDEBUG  -rdynamic CMakeFiles/TestPolyhedron.dir/TestPolyhedron.cpp.o  -o TestPolyhedron -Wl,-rpath,/home/scaron/Software/eigen-cddlib/build/src:/usr/local/lib /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so ../src/libeigen-cdd.so /usr/local/lib/libcdd.so 
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 21
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

Eigen::Index not found

I can compile the project up to 273da4b, but since fc93c17 it does not compile any more on my system. I get the following error:

cd /home/scaron/Software/eigen-cddlib/build/src && /usr/bin/c++  -Deigen_cdd_EXPORTS -I/home/scaron/Software/eigen-cddlib/build -I/home/scaron/Software/eigen-cddlib/build/include -I/home/scaron/Software/eigen-cddlib/include -I/home/scaron/Software/eigen-cddlib/src -isystem /usr/local/include/eigen3  -Werror  -pedantic -Wno-long-long -Wall -Wextra -Wcast-align -Wcast-qual -Wformat -Wwrite-strings -Wconversion  -O2 -g -DNDEBUG -fPIC   -DEIGEN_CDDLIB_EXPORTS -std=gnu++11 -o CMakeFiles/eigen-cdd.dir/Polyhedron.cpp.o -c /home/scaron/Software/eigen-cddlib/src/Polyhedron.cpp
In file included from /home/scaron/Software/eigen-cddlib/src/Polyhedron.cpp:17:0:
/home/scaron/Software/eigen-cddlib/src/Polyhedron.h:95:37: error: ‘Eigen::Index’ has not been declared
     void initializeMatrixPtr(Eigen::Index rows, Eigen::Index cols, bool isFromGenerators);

My version of Eigen is 3.2.10.

Throwing exceptions vs. return codes

I have a question related to PR #5: is it really best to throw exceptions upon conversion errors?

In my use case, the exception was silently handled by an outer program, and it took me a lot of time to find that a global failure was due to a call I made to eigen-cddlib. I wouldn't mind one of the following alternatives:

  • Outputting warnings to stdout/stderr
  • Have set*() functions return bool instead of void

These sound to me safer/softer than throwing exceptions (which kill everything on their way if not properly caught).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.