Art*_*kov 5 c# macos opencv emgucv xamarin
我有一个适用于Windows的.NET 4程序.我正试图用单声道和Xamarin工作室为Mac电脑移植它.我有第三部分库EmguCV(它是OpenCV库的包装器).我正在使用官方手册来安装它.它同时安装OpenCV和EmguCV到
图书馆/ Python的/ 2.7 /站点包/ emgucv/lib目录
当我从Xamarin在Debug模式下启动程序时 - 一切正常.它创建了所有库并使用它.但是当我将程序设为"pak"并在没有安装的情况下在计算机上运行时EmguCV- 我得到了"未找到DLL"的异常.
我用这个命令编写程序:
macpack -m:1 -o:. -r:/Library/Frameworks/Mono.framework/Versions/Current/lib/ -r:/Library/Python/2.7/site-packages/emgucv/lib -r:/Library/Python/2.7/site-packages/emgucv/bin -r:Assimp32.dll -r:Assimp64.dll -r:cvextern.dll -r:Emgu.CV.dll -r:Emgu.Util.dll -r:libegl.dll -r:libglesv2.dll -r:OpenTK.dll -r:OpenTK.GLControl.dll -r:RH.AssimpNet.dll -r:RH.HeadEditor.dll -r:RH.ImageListView.dll -r:RH.HeadShop.exe -r:blending.fs -r:blending.vs -r:blendingPl.vs -r:idle.fs -r:idle.vs -r:skelet.vs -r:sprite.png -r:./Libraries -r:./Models -r:./Plugin -r:./Resources -r:./Stages -r:./"Haar Cascades" -n:HeadShop -a:RH.HeadShop.exe
Run Code Online (Sandbox Code Playgroud)
我的第二和第三个参数应该将EmguCV库附加到我的pak:
当我在里面看时 - 我找到了这个库.然而程序仍然没有找到它..
我想在openCV本机库中遇到麻烦,但我无法意识到有什么问题:(
好吧,我在 mac 论坛上花了很多时间:)
要点是 OSX 动态库 (*.dylib) 有一个“安装名称”,它告诉操作系统希望在哪里找到该库。因此,要使用它 - 我应该更改“安装名称”。为此,我使用了一个工具dylibbundler来更改此名称,install_name_tool如下所示:
install_name_tool -id "@loader_path/dylibs/libcvextern.dylib" libcvextern.dylib
Run Code Online (Sandbox Code Playgroud)
其中@loader_path是一个特殊的 Mac 变量,它允许使用相对于应用程序路径的值。
| 归档时间: |
|
| 查看次数: |
381 次 |
| 最近记录: |