diff --git a/CMakeLists.txt b/CMakeLists.txt index a77173ba0..fd11a6733 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,6 +179,11 @@ if(MKL_FOUND AND GTSAM_WITH_EIGEN_MKL) set(EIGEN_USE_MKL_ALL 1) # This will go into config.h - it makes Eigen use MKL include_directories(${MKL_INCLUDE_DIR}) list(APPEND GTSAM_ADDITIONAL_LIBRARIES ${MKL_LIBRARIES}) + + # --no-as-needed is required with gcc according to the MKL link advisor + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed") + endif() else() set(GTSAM_USE_EIGEN_MKL 0) set(EIGEN_USE_MKL_ALL 0) diff --git a/examples/TimeTBB.cpp b/examples/TimeTBB.cpp index de472b10c..602a00593 100644 --- a/examples/TimeTBB.cpp +++ b/examples/TimeTBB.cpp @@ -17,7 +17,6 @@ #include #include -#include // for GTSAM_USE_TBB #include #include diff --git a/gtsam/base/Matrix.h b/gtsam/base/Matrix.h index caee2071c..41ffa27b5 100644 --- a/gtsam/base/Matrix.h +++ b/gtsam/base/Matrix.h @@ -22,6 +22,8 @@ #pragma once #include +#include // Configuration from CMake + #include #include #include diff --git a/gtsam/base/OptionalJacobian.h b/gtsam/base/OptionalJacobian.h index 7055a287a..d0e2297ef 100644 --- a/gtsam/base/OptionalJacobian.h +++ b/gtsam/base/OptionalJacobian.h @@ -18,7 +18,7 @@ */ #pragma once - +#include // Configuration from CMake #include #ifndef OPTIONALJACOBIAN_NOBOOST diff --git a/gtsam/nonlinear/internal/ExecutionTrace.h b/gtsam/nonlinear/internal/ExecutionTrace.h index 37ce4dfd5..45817a3f9 100644 --- a/gtsam/nonlinear/internal/ExecutionTrace.h +++ b/gtsam/nonlinear/internal/ExecutionTrace.h @@ -17,7 +17,7 @@ */ #pragma once - +#include // Configuration from CMake #include #include #include