Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 构建FFmpeg.NET.dll_C#_.net_Dll_Build_Ffmpeg - Fatal编程技术网

C# 构建FFmpeg.NET.dll

C# 构建FFmpeg.NET.dll,c#,.net,dll,build,ffmpeg,C#,.net,Dll,Build,Ffmpeg,我需要在C语言中使用一些FFmpeg函数,确切地说,在GTK语言中。所以我下载了包装器。之后,我尝试构建FFmpeg.NET.2008.sln参考:我将在Visual Studio 2008中构建dll,但将在GTK中使用,然后出现以下错误: 错误1错误PRJ0019:工具在执行时返回错误代码 Makefile项目操作FFMpeg.NET 引用的程序集出现错误2 C:\Users\Zhenya\Documents\ffmpegdotnet-94877\bin 找不到调试共享\ffmpeg.net

我需要在C语言中使用一些FFmpeg函数,确切地说,在GTK语言中。所以我下载了包装器。之后,我尝试构建FFmpeg.NET.2008.sln参考:我将在Visual Studio 2008中构建dll,但将在GTK中使用,然后出现以下错误:

错误1错误PRJ0019:工具在执行时返回错误代码 Makefile项目操作FFMpeg.NET 引用的程序集出现错误2 C:\Users\Zhenya\Documents\ffmpegdotnet-94877\bin 找不到调试共享\ffmpeg.net.dll。如果此程序集是 由您的另一个项目生成,请确保生成 在建造这个项目之前先完成那个项目

如何解决这些问题?
或者如何正确构建此包装以获取.dll?

FFmpeg for.NET包含非常旧的版本FFmpeg。我直接使用ffmpeg.exe。比如说

    void RunFfmpeg()
    {
        ffmpegProcess = new Process
            {
                EnableRaisingEvents = true,
                StartInfo =
                    {
                        FileName = GetFfmpegPath(),
                        Arguments = ffmpegParams.ToString(),
                        UseShellExecute = false,
                    },
            };
        ffmpegProcess.Start();
        ffmpegProcess.BeginOutputReadLine();
        ffmpegProcess.WaitForExit();
    }

仅供参考,实现最终目标可能会更容易,但从C代码中调用ffmpeg.exe。@evanmcdonnal是否会跨平台?可以。您只需在输出目录中包含各种版本的ffmpeg。你打算在mono上运行吗?@evanmcdonnal我现在打算在gtk中使用它,之后我会在xamarin.ios和xamarin.android中使用它。好吧,我对这两个都一无所知,但简单的回答是,如果该运行时有可用的程序集,那么它将在那里工作。它是否跨平台?如果UseShellExecute=false,则看不到任何问题,但我仅在Windows中测试了它