diff --git a/applications/calibration-multi/src/main.cpp b/applications/calibration-multi/src/main.cpp
index f492b8e7b6f68f7082b62c523efd44781ec7f8fc..624c85e7433d936e099433b95429831e5a36a5a8 100644
--- a/applications/calibration-multi/src/main.cpp
+++ b/applications/calibration-multi/src/main.cpp
@@ -451,7 +451,7 @@ void runCameraCalibration(	ftl::Configurable* root,
 	vector<Mat> rgb(n_cameras);
 	std::this_thread::sleep_for(std::chrono::seconds(3)); // rectification disabled, has some delay
 
-	while(calib.getMinVisibility() < n_views) {
+	while(calib.getMinVisibility() < static_cast<size_t>(n_views)) {
 		loop:
 		cv::waitKey(10);
 		
@@ -501,7 +501,7 @@ void runCameraCalibration(	ftl::Configurable* root,
 
 		for (size_t i = 0; i < n_cameras; i++) {
 			if (visible[i]) {
-				for (int j = 0; j < points[i].size(); j++) {
+				for (size_t j = 0; j < points[i].size(); j++) {
 					cv::drawMarker(	rgb[i], points[i][j], Scalar(42, 255, 42), cv::MARKER_CROSS, 25, 1);
 					cv::putText(rgb[i], std::to_string(j), Point2i(points[i][j]),
 						cv::FONT_HERSHEY_COMPLEX_SMALL, 1.0, Scalar(64, 64, 255), 1);
diff --git a/applications/calibration-multi/src/multicalibrate.cpp b/applications/calibration-multi/src/multicalibrate.cpp
index 630dd576acfc85337352a0fd7743ace0db53a1e3..3aaea4d06291a0be0110791d95bd004207d70dc9 100644
--- a/applications/calibration-multi/src/multicalibrate.cpp
+++ b/applications/calibration-multi/src/multicalibrate.cpp
@@ -614,7 +614,7 @@ double MultiCameraCalibrationNew::getReprojectionErrorOptimized(size_t c_from, c
 
 double MultiCameraCalibrationNew::calibrateAll(int reference_camera) {
 	if (reference_camera != -1) {
-		DCHECK(reference_camera >= 0 && reference_camera < n_cameras_);
+		DCHECK(reference_camera >= 0 && reference_camera < static_cast<int>(n_cameras_));
 		reference_camera_ = reference_camera; 
 	}
 
diff --git a/applications/calibration-multi/src/visibility.cpp b/applications/calibration-multi/src/visibility.cpp
index 256de5333450f062f760d7ff0309dfe04e800d1d..df0427c5ddc466ba037dcbe8bdba2adc406ed89d 100644
--- a/applications/calibration-multi/src/visibility.cpp
+++ b/applications/calibration-multi/src/visibility.cpp
@@ -32,7 +32,7 @@ void Visibility::update(vector<int> &visible) {
 
 int Visibility::getOptimalCamera() {
 	// most visible on average
-	int best_i;
+	int best_i = 0;
 	double best_score = -INFINITY;
 	for (int i = 0; i < visibility_.rows; i++) {
 		double score = 0.0;