How to make dll...

Started by
4 comments, last by lmbarns 10 years, 11 months ago

How on earth to you get a nice .dll from openCV? I need to use it for Unity, as a plugin, but have never used linux.

I went through one of the tutorials to install opencv on my computer (PC), but I need to get a .dll I can transfer to my mac and drop in my plugins folder of Unity ios..........

Once I have a dll filled with functions I can call them from Unity...anyone have any advice for a simple solution? I found a visual studio 2010 .exe but don't have visual studio to open it....

I saw some mention of using Eclipse, can I do it with that, easily? Do you have to use a terminal window to do it no matter what??

Any advice/pointers greatly appreciated...

Advertisement
Exactly what do you need? You are speaking of needing DLLs but then you mix that in with mentioning Linux and MacOS. Concepts similar exists on both operating systems, but a DLL won't work on anything but Windows. You can probably cross-compile using gcc but I'm lacking experience here.
Are you certain you really need to compile it yourself? So far I have always been able to find a precompiled version of OpenCV for all platforms I needed it on.

Edit: Also, a couple of general pointers. Whenever possible use the same operating system to create a dynamic link library. Unless you know better, always use the exact same compiler and build settings you are using for the main program for the dynamic library.
There is no magic bullet on how to build a library. Any decent one will come with build instructions on how to build the library on the different platforms. It might be as simple as going into the right directory and calling 'make' or it might requires hours of configuration and dependency hunting.

How on earth to you get a nice .dll from openCV? I need to use it for Unity, as a plugin, but have never used linux.

I went through one of the tutorials to install opencv on my computer (PC), but I need to get a .dll I can transfer to my mac and drop in my plugins folder of Unity ios..........

Once I have a dll filled with functions I can call them from Unity...anyone have any advice for a simple solution? I found a visual studio 2010 .exe but don't have visual studio to open it....

I saw some mention of using Eclipse, can I do it with that, easily? Do you have to use a terminal window to do it no matter what??

Any advice/pointers greatly appreciated...

You don't use .dll on mac , iOS or Linux/Android. (.dll is for Windows only)

Linux/Android use shared objects (.so) , Mac uses "Bundles" (You can create those using XCode).

iOS doesn't allow you to use dynamic linking (or the appstore doesn't allow it)

follow this guide and Unity will sort out static linking with native code for you http://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html

native code is platform specific and has to be built explicitly for each supported platform. (The iOS plugin has to be built on a Mac)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

SimonForsman is correct. Dynamic Link Libraries (dll's), Shared Objects (so's) and Bundles are all operating system dependent as well as compiler dependent. Long story short, if your code is already written cross platform friendly you will simply need to compile a DLL in windows against the same build target as your Unity distribution, compile your SO in Linux against the same build target as your Unity distribution, and compile your bundle on Mac against the same build target as your Unity distribution.

http://docs.unity3d.com/Documentation/Manual/Plugins.html

Towards the bottom of that page you will see a section for creating plugins for desktop (windows, mac and linux), ios and android.

Dan Mayor

Professional Programmer & Hobbyist Game Developer

Seeking team for indie development opportunities, see my classifieds post

Well crap, thanks for that link Simon that's exactly what I'm trying to do...

So I'm using a mac osx and Unity building for iOS. I need to compile OpenCV to be able to drop in my plugins folder in Unity so I can call the functions from my C# in Unity....

What format do I need to compile the OpenCV library to so I can do that? iOS native code, so obj C??? Or do I build it for mac and Unity will convert everything to run on iOS?(guess not)

Thanks, this at least points me in a direction to compile for iOS, where I was searching for dll....At home I'm on windows, which may be adding to my confusion, all dev will be on osx targeting iOS with Unity...but I've never had a pro copy to use plugins until now so I need to figure this out.

I just want to be able to use C# in unity and pass some camera data to functions in openCV to try to track an object in the cam feed...............I need to to track a card that I can rotate/move for an AR Unity app....... side to side, forward/back and rotation, basic movement, is openCV what I should be looking at?

I'd be willing to buy a basic implementation even if I had to.

Well I'm testing some 3rd party products and will likely have to go with them instead. I wonder how much it would cost to hire a software engineer to create a decent tracking plugin for Unity:

Here's what I made yesterday and is basically what I was trying to do on my own:

">

I also found out I have to not make a dll but compile it to native ojb c to use it in iOS...

This topic is closed to new replies.

Advertisement