I try to add OpenCV to ue4 third party.
this is my build file
using UnrealBuildTool;
public class OpenCV : ModuleRules
{
public OpenCV(TargetInfo Target)
{
Type = ModuleType.External;
string OpenCVPath = UEBuildConfiguration.UEThirdPartySourceDirectory + "OpenCV";
PublicIncludePaths.Add(OpenCVPath + "/inc");
if (Target.Platform == UnrealTargetPlatform.Win64)
{
string LibPath = OpenCVPath + "/lib/Win64/VS" + WindowsPlatform.GetVisualStudioCompilerVersionName();
PublicLibraryPaths.Add(LibPath);
bool isdebug = Target.Configuration == UnrealTargetConfiguration.Debug && BuildConfiguration.bDebugBuildsActuallyUseDebugCRT;
//if (!isdebug)
{
PublicAdditionalLibraries.Add("opencv_calib3d2411.lib");
PublicAdditionalLibraries.Add("opencv_contrib2411.lib");
PublicAdditionalLibraries.Add("opencv_core2411.lib");
PublicAdditionalLibraries.Add("opencv_features2d2411.lib");
PublicAdditionalLibraries.Add("opencv_flann2411.lib");
PublicAdditionalLibraries.Add("opencv_gpu2411.lib");
PublicAdditionalLibraries.Add("opencv_highgui2411.lib");
PublicAdditionalLibraries.Add("opencv_imgproc2411.lib");
PublicAdditionalLibraries.Add("opencv_legacy2411.lib");
PublicAdditionalLibraries.Add("opencv_ml2411.lib");
PublicAdditionalLibraries.Add("opencv_nonfree2411.lib");
PublicAdditionalLibraries.Add("opencv_objdetect2411.lib");
PublicAdditionalLibraries.Add("opencv_ocl2411.lib");
PublicAdditionalLibraries.Add("opencv_photo2411.lib");
PublicAdditionalLibraries.Add("opencv_stitching2411.lib");
PublicAdditionalLibraries.Add("opencv_superres2411.lib");
PublicAdditionalLibraries.Add("opencv_ts2411.lib");
PublicAdditionalLibraries.Add("opencv_video2411.lib");
PublicAdditionalLibraries.Add("opencv_videostab2411.lib");
PublicDelayLoadDLLs.Add("opencv_calib3d2411.dll");
PublicDelayLoadDLLs.Add("opencv_contrib2411.dll");
PublicDelayLoadDLLs.Add("opencv_core2411.dll");
PublicDelayLoadDLLs.Add("opencv_features2d2411.dll");
PublicDelayLoadDLLs.Add("opencv_flann2411.dll");
PublicDelayLoadDLLs.Add("opencv_gpu2411.dll");
PublicDelayLoadDLLs.Add("opencv_highgui2411.dll");
PublicDelayLoadDLLs.Add("opencv_imgproc2411.dll");
PublicDelayLoadDLLs.Add("opencv_legacy2411.dll");
PublicDelayLoadDLLs.Add("opencv_ml2411.dll");
PublicDelayLoadDLLs.Add("opencv_nonfree2411.dll");
PublicDelayLoadDLLs.Add("opencv_objdetect2411.dll");
PublicDelayLoadDLLs.Add("opencv_ocl2411.dll");
PublicDelayLoadDLLs.Add("opencv_photo2411.dll");
PublicDelayLoadDLLs.Add("opencv_stitching2411.dll");
PublicDelayLoadDLLs.Add("opencv_superres2411.dll");
PublicDelayLoadDLLs.Add("opencv_ts2411.dll");
PublicDelayLoadDLLs.Add("opencv_video2411.dll");
PublicDelayLoadDLLs.Add("opencv_videostab2411.dll");
}
// else
// {
// PublicAdditionalLibraries.Add("opencv_calib3d2411d.lib");
// PublicAdditionalLibraries.Add("opencv_contrib2411d.lib");
// PublicAdditionalLibraries.Add("opencv_core2411d.lib");
// PublicAdditionalLibraries.Add("opencv_features2d2411d.lib");
// PublicAdditionalLibraries.Add("opencv_flann2411d.lib");
// PublicAdditionalLibraries.Add("opencv_gpu2411d.lib");
// PublicAdditionalLibraries.Add("opencv_highgui2411d.lib");
// PublicAdditionalLibraries.Add("opencv_imgproc2411d.lib");
// PublicAdditionalLibraries.Add("opencv_legacy2411d.lib");
// PublicAdditionalLibraries.Add("opencv_ml2411d.lib");
// PublicAdditionalLibraries.Add("opencv_nonfree2411d.lib");
// PublicAdditionalLibraries.Add("opencv_objdetect2411d.lib");
// PublicAdditionalLibraries.Add("opencv_ocl2411d.lib");
// PublicAdditionalLibraries.Add("opencv_photo2411d.lib");
// PublicAdditionalLibraries.Add("opencv_stitching2411d.lib");
// PublicAdditionalLibraries.Add("opencv_superres2411d.lib");
// PublicAdditionalLibraries.Add("opencv_ts2411d.lib");
// PublicAdditionalLibraries.Add("opencv_video2411d.lib");
// PublicAdditionalLibraries.Add("opencv_videostab2411d.lib");
// PublicDelayLoadDLLs.Add("opencv_calib3d2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_contrib2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_core2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_features2d2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_flann2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_gpu2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_highgui2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_imgproc2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_legacy2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_ml2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_nonfree2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_objdetect2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_ocl2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_photo2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_stitching2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_superres2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_ts2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_video2411d.dll");
// PublicDelayLoadDLLs.Add("opencv_videostab2411d.dll");
// }
}
else
{
string Err = string.Format("{0} dedicated server is made to depend on {1}. We want to avoid this, please correct module dependencies.", Target.Platform.ToString(), this.ToString());
System.Console.WriteLine(Err);
throw new BuildException(Err);
}
}
}
Engine\Binaries\ThirdParty\OpenCV\Win64\VS2013 has *.dll
Engine\Source\ThirdParty\OpenCV\lib\Win64\VS2013 has .dll and .lib
but why ue4 always forgets loading the dll?
What Should I do?
I compiled finish
linked is ok
just runtime error