Eigen is a template library, just a bunch of header files which produce some nicely optimized inline code. The library compiles when it’s in a VS project, but trying to include it in UE4 gives me a bunch of errors.
I don’t think I can create a module out of Eigen, because it’s not a regular library, just header files.
Here’s the relevant part of my error log
[2016.06.23-03.34.39:141][373]CompilerResultsLog: Info Performing 7 actions (4 in parallel)
[2016.06.23-03.34.39:141][373]CompilerResultsLog: Info PCH.test_2.h.cpp
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2988: unrecognizable template declaration/definition
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2143: syntax error: missing ';' before '<'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2059: syntax error: '<'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: 'Matrix': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_Scalar': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_Rows': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_Cols': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_Options': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_MaxRows': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2065: '_MaxCols': undeclared identifier
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2974: 'Eigen::internal::traits': invalid template argument for '_Scalar', type expected
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : note: see declaration of 'Eigen::internal::traits'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2975: '_Rows': invalid template argument for 'Eigen::internal::traits', expected compile-time constant expression
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(34) : note: see declaration of '_Rows'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2975: '_Cols': invalid template argument for 'Eigen::internal::traits', expected compile-time constant expression
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(34) : note: see declaration of '_Cols'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2975: '_Options': invalid template argument for 'Eigen::internal::traits', expected compile-time constant expression
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(34) : note: see declaration of '_Options'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2975: '_MaxRows': invalid template argument for 'Eigen::internal::traits', expected compile-time constant expression
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(34) : note: see declaration of '_MaxRows'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2975: '_MaxCols': invalid template argument for 'Eigen::internal::traits', expected compile-time constant expression
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(34) : note: see declaration of '_MaxCols'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2143: syntax error: missing ';' before '>'
[2016.06.23-03.34.39:141][373]CompilerResultsLog:Error: Error C:\Users\\Documents\Unreal Projects\test_2\Source\test_2\Public\Eigen\src\Core\Array.h(35) : error C2059: syntax error: '>'
This isn’t all the errors by the way, just the first few