Fix block-sparse to crs conversion on windows
Change-Id: I2aabdb68afc8152c5d8da157baf22faf8d8f80cf
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index aff218e..b3a7a96 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -144,6 +144,7 @@
set_source_files_properties(cuda_kernels_bsm_to_crs.cu.cc PROPERTIES LANGUAGE CUDA)
add_library(ceres_cuda_kernels STATIC cuda_kernels_vector_ops.cu.cc cuda_kernels_bsm_to_crs.cu.cc)
target_compile_features(ceres_cuda_kernels PRIVATE cxx_std_14)
+ target_compile_definitions(ceres_cuda_kernels PRIVATE CERES_STATIC_DEFINE)
# Enable __host__ / __device__ annotations in lambda declarations
target_compile_options(ceres_cuda_kernels PRIVATE --extended-lambda)
target_include_directories(ceres_cuda_kernels PRIVATE ${Ceres_SOURCE_DIR}/internal ${Ceres_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/internal/ceres/cuda_block_sparse_crs_view_test.cc b/internal/ceres/cuda_block_sparse_crs_view_test.cc
index e80d026..dd49ee8 100644
--- a/internal/ceres/cuda_block_sparse_crs_view_test.cc
+++ b/internal/ceres/cuda_block_sparse_crs_view_test.cc
@@ -30,6 +30,8 @@
#include "ceres/cuda_block_sparse_crs_view.h"
+#include <numeric>
+
#include <glog/logging.h>
#include <gtest/gtest.h>
diff --git a/internal/ceres/cuda_kernels_bsm_to_crs.h b/internal/ceres/cuda_kernels_bsm_to_crs.h
index 90b4882..62a2477 100644
--- a/internal/ceres/cuda_kernels_bsm_to_crs.h
+++ b/internal/ceres/cuda_kernels_bsm_to_crs.h
@@ -39,8 +39,8 @@
namespace ceres {
namespace internal {
-class Block;
-class Cell;
+struct Block;
+struct Cell;
// Compute structure of CRS matrix using block-sparse structure.
// Arrays corresponding to CRS matrix are to be allocated by caller