Skip to content

Commit 8fe53f3

Browse files
authored
Check MSVC Runtime before loading natives (#1809)
1 parent a330481 commit 8fe53f3

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

photon-targeting/src/generated/main/java/org/photonvision/jni/WpilibLoader.java renamed to photon-targeting/src/main/java/org/photonvision/jni/WpilibLoader.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,6 @@
1717

1818
package org.photonvision.jni;
1919

20-
import java.io.IOException;
21-
22-
import org.opencv.core.Core;
23-
2420
import edu.wpi.first.apriltag.jni.AprilTagJNI;
2521
import edu.wpi.first.cscore.CameraServerJNI;
2622
import edu.wpi.first.cscore.OpenCvLoader;
@@ -30,9 +26,12 @@
3026
import edu.wpi.first.networktables.NetworkTablesJNI;
3127
import edu.wpi.first.util.CombinedRuntimeLoader;
3228
import edu.wpi.first.util.WPIUtilJNI;
29+
import java.io.IOException;
30+
import org.opencv.core.Core;
3331

3432
public class WpilibLoader {
3533
private static boolean has_loaded = false;
34+
3635
public static boolean loadLibraries() {
3736
if (has_loaded) return true;
3837

@@ -45,9 +44,11 @@ public static boolean loadLibraries() {
4544
WPIMathJNI.Helper.setExtractOnStaticLoad(false);
4645
AprilTagJNI.Helper.setExtractOnStaticLoad(false);
4746
try {
47+
// Need to load wpiutil first before checking if the MSVC runtime is valid
48+
CombinedRuntimeLoader.loadLibraries(WpilibLoader.class, "wpiutiljni");
49+
WPIUtilJNI.checkMsvcRuntime();
4850
CombinedRuntimeLoader.loadLibraries(
4951
WpilibLoader.class,
50-
"wpiutiljni",
5152
"wpimathjni",
5253
"ntcorejni",
5354
"wpinetjni",
@@ -56,7 +57,6 @@ public static boolean loadLibraries() {
5657
"apriltagjni");
5758

5859
CombinedRuntimeLoader.loadLibraries(WpilibLoader.class, Core.NATIVE_LIBRARY_NAME);
59-
6060
has_loaded = true;
6161
} catch (IOException e) {
6262
e.printStackTrace();

0 commit comments

Comments
 (0)