Hello, I'm trying to use NAudio to get a mp3 (using WWW) into an Audioclip. The thing is NAudio uses Msacm32.dll which I tried adding to the project, but the webgl build still cannot find it. The standalone build works well(it doesnt need this dll tho, because it gets it from the system).
DllNotFoundException: Unable to load DLL 'Msacm32.dll': The specified module could not be found.
↧
Cannot load native dll in WebGL build
↧
DllNotFoundException on mac
Hi ,
I use `$g++ xxx.cpp -fPIC -shared -o libxxx.so ` to built a shared library on my Mac .
And then I copy It to Assets/Plugins folder .
my c# code
`
[DllImport("xxx")]
public static extern void aaa();`
when I run it in Editor , it always said DllNotFouondException ,
Can I use the '.so' on Mac ?
If I can use it , why cause that exception . Thank you .
↧
↧
MIdiJack DLL not found
I'm working on a project that uses the midijack plugin and works when testing within unity, but when I publish it as a standalone or windows app it comes up with the error "DllNotFoundException: Not able to load DLL "MidiJackPlugin" the specified plugin cannot be found."
Right now the dll is in the project folder under Assets/MidiJack/Plugins/x86/MidiJackPlugin.dll as it was when the package was imported.
Any ideas?
Thanks!
↧
Linux Unity: Recognize dependent dll files
I have been trying to use DllImport ("filename.dll") in C# Unity and found below things
Unity/C# is able to recognize independent .dll files ie
If dll A is not dependent on any other dlls it is recognized
Unity/C# is not able to recognize dependent .dll files ie
If dll A is not dependent on dll B,dll C,dll D etc then dll A is not recognized, although all the 4 dlls( A,B,C,D dlls ) are in same location
.................................................................................................... .....
I have used dependency Walker for UnityInterface2.dll and found out that it depends on OpenNI2.dll, NiTE2.dll, msvcp90d.dll and kernel32.dll. I have placed all of these in project folder of Unity and also in 4.5(.net of mono) folder , but the issue still persists.
Can I know how do I make C# code recognize a dll (UnityInterface2.dll) which depends on other dlls
(OpenNI2.dll, NiTE2.dll, msvcp90d.dll and kernel32.dll) in Linux ? Please help
↧
DllNotFoundException on Mac OS X, only when Playing in Editor
I'm using a custom DLL that has a dependency to another DLL. On Windows, I was able to make this work by using the function from @bibbinator [here][1], storing both the DLL I'm using and the dependency in the same folder within Plugins. When I open the project on Mac and try to Play it in the editor, I get a DllNotFoundException error; the same error I was receiving on Windows before the bibbinator fix.
When I try to build the project, however, it builds perfectly fine, without any errors.
Thoughts as to why this might be happening?
[1]: http://forum.unity3d.com/threads/dllnotfoundexception-when-depend-on-another-dll.31083/#post-1042180
↧
↧
DllNotFoundException in Mac Editor; Not Build, Not Windows
I'm trying to use a DLL from a manufacturer that has another dependency DLL. I was able to make this work on Windows by using the @bibbinator method [here][1], by putting both DLLs into the same folder, and adding that folder to the PATH at runtime.
On Mac OSX, however, I get a `DllNotFoundException`, the same error I was getting on Windows before the bibbinator solution, when Playing the scene from the Editor. Strangely, the error disappears when I build the App.
Any thoughts as to why this might be happening?
[1]: http://forum.unity3d.com/threads/dllnotfoundexception-when-depend-on-another-dll.31083/#post-1042180
↧
Loading Windows 10 DLL. "This operation is only valid in the context of an app container"
I am currently working on a native plugin for Unity involving other static libraries (dependencies). I have recently upgraded to Windows 10, and am running the most current Unity. I followed instructions and dropped my dll in the Plugin's folder within Assets, but when running in editor I get the error in the title. The dll fails to load and subsequent calls to imported methods gives me "file not found ". Here is my local c# referencing the dll:
public class video : MonoBehaviour {
public string videoName;
public string folder;
public bool isPlaying;
[Range(0.0f, 100.0f)]
public float videoTime;
public delegate void FrameCallback(int id, IntPtr data, int width, int height);
public FrameCallback frameHandler;
[DllImport("ffmpegForUnity")]
public static extern int initVideo(string name, string folder);
[DllImport("ffmpegForUnity")]
public static extern int setFrameCallback(FrameCallback fn);
[DllImport("ffmpegForUnity")]
public static extern void getVideoFrame();
public struct Frame
{
public int id;
public byte[] data;
public int width;
public int height;
}
Frame mFrame;
// Use this for initialization
void Start () {
//set up video context
initVideo(videoName, folder);
frameHandler = new FrameCallback(FrameHandler);
setFrameCallback(frameHandler);
}
and the header file for my dll:
#ifdef FFMPEGFORUNITY_EXPORTS
#define FFMPEGFORUNITY_API __declspec(dllexport)
#else
#define FFMPEGFORUNITY_API __declspec(dllimport)
#endif
extern "C"
{
#include
#include
#include
#include
}
using FrameCallback = void(*)(int id, uint8_t* data, int width, int height);
FrameCallback mFrameCallback = NULL;
namespace ffmpegForUnity {
class videoHandler {
public:
static FFMPEGFORUNITY_API int initVideo(char* video, char* folder);
static FFMPEGFORUNITY_API void* getVideoFrame();
static FFMPEGFORUNITY_API bool setFrameCallback(FrameCallback callbackMethod);
};
}
Has anyone run into this before? Googling has not helped. I found one other problem and the solution was to run the unity application in a visual studio simulator, but I want my plugin to be able to be used on multiple platforms, not just in the windows store.
↧
DllNotFoundException: Msacm32.dll
I follow this advice - http://gamedev.stackexchange.com/a/113402/88200 to import NAudio and to stream mp3 from SoundCloud. But I get exception on my Mac:
DllNotFoundException: Msacm32.dll
NAudio.Wave.Compression.AcmStream.SuggestPcmFormat (NAudio.Wave.WaveFormat compressedFormat)
NAudio.Wave.AcmMp3FrameDecompressor..ctor (NAudio.Wave.WaveFormat sourceFormat)
NAudio.Wave.Mp3FileReader.CreateAcmFrameDecompressor (NAudio.Wave.WaveFormat mp3Format)
NAudio.Wave.Mp3FileReader..ctor (System.IO.Stream inputStream, NAudio.Wave.FrameDecompressorBuilder frameDecompressorBuilder)
Please, help to overcome that.
↧
Anyone Integrated CLIPS in Unity?
When i used CLIPSNet.dll, it says CLIPSLib.dll is missing. But, both the dll's are inside my Plugins folder. Can anyone help?
↧
↧
DllNotFoundException: LeapC
Hi im new to leapmotion. when i hit the play button after implementing the leapmotion this is the error that im getting. Im working on mac with the latest version of unity and orion.
DllNotFoundException: LeapC
Leap.ClockCorrelator..ctor ()
Leap.Unity.LeapServiceProvider.Awake () (at Assets/LeapMotion/Scripts/LeapServiceProvider.cs:162)
Thank you
↧
DllNotFoundException: libdb_csharp62d
**Now ,i import an three DLL, libdb_dotnet62.dll depend on libdb62d.dll and libdb_csharp62.dll, but this is a matter, it say not found ,please give me an help?
this my codes:
public void dbTest(){
btreeDBConfig = new BTreeDatabaseConfig ();
btreeDBConfig.Duplicates = DuplicatesPolicy.SORTED;
btreeDBConfig.Creation = CreatePolicy.IF_NEEDED;//不存在就创建数据库
btreeDBConfig.PageSize = 4 * 1024;
btreeDBConfig.CacheSize = new CacheInfo (0,1024 * 1024 * 80,0);//缓存大小
string btreeDBFileName = Application.persistentDataPath + "/" + "myTest.db";
btreeDB = BTreeDatabase.Open (btreeDBFileName,btreeDBConfig);
}
**
DllNotFoundException: libdb_csharp62d
BerkeleyDB.Internal.libdb_csharpPINVOKE+SWIGStringHelper..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for SWIGStringHelper
BerkeleyDB.Internal.libdb_csharpPINVOKE..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for BerkeleyDB.Internal.libdb_csharpPINVOKE
BerkeleyDB.Internal.DB..ctor (BerkeleyDB.Internal.DB_ENV env, UInt32 flags)
BerkeleyDB.BaseDatabase..ctor (BerkeleyDB.DatabaseEnvironment envp, UInt32 flags)
BerkeleyDB.Database..ctor (BerkeleyDB.DatabaseEnvironment env, UInt32 flags)
BerkeleyDB.BTreeDatabase..ctor (BerkeleyDB.DatabaseEnvironment env, UInt32 flags)
BerkeleyDB.BTreeDatabase.Open (System.String Filename, System.String DatabaseName, BerkeleyDB.BTreeDatabaseConfig cfg, BerkeleyDB.Transaction txn)
BerkeleyDB.BTreeDatabase.Open (System.String Filename, BerkeleyDB.BTreeDatabaseConfig cfg)
testWindow.dbTest () (at Assets/testWindow.cs:37)
testWindow.Start () (at Assets/testWindow.cs:26)
↧
DllNotFoundException, C++ dll used with an assembly, not possible?
Hi, I'm kind of new to things like handeling dll in unity and stuff. Here's my problem I need Unity and an over application to communicate with eachother. To do so I have an API made of aC++ dll from that other application, a lib and an header. There called API_C.1.6.dll, API_C.lib and API_DLL_C.h, I also have a second dll called API_NET.dll that is an assembly that does all the DLLIMPORTS for me so that I just have to add a reference to that dll in VS2013 and I can use all the fonction from the first dll.
Here is what the API_DLL_C.h looks like:
#ifndef __API_CBINDING_h__
#define __API_CBINDING_h__
//! use this compilation option to create API.dll ///
#if defined(API_STATIC) || defined(__linux__)
#define declAPI
#else
#ifdef API_EXPORTS
#define declAPI __declspec(dllexport)
#else
#define declAPI __declspec(dllimport)
#endif
#endif
#include API_DLL_Enums.h"
#define MAX_DATA_ID_STRING_SIZE 256
#ifndef API_STATIC
#ifdef __cplusplus
extern "C" {
# endif
#endif
declAPI int Process_InitParams(const char* ProcName, const char* ConfigName, float Frequency);
...(other fonctions)
}
Here is my cs files that uses the dll:
using UnityEngine;
using System;
using System.IO;
using API_NET;//from the assembly
public class TestComAPIUnity: MonoBehaviour {
// Use this for initialization
void Start()
{
plugin_API.Process_InitParams("TESTUNITY", "DEFAULT", 30f);
}
// Update is called once per frame
void Update () {
}
}
This is the simpliest communication between Unity and my other application that can be done with the API.
With this there is no compilation errors but when I try to run in the editor I have this error:
*DllNotFoundException: API_C.1.6.dll
API_NET.plugin_APIPINVOKE+SWIGExceptionHelper..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for SWIGExceptionHelper
API_NET.plugin_APIPINVOKE..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for API_NET.plugin_APIPINVOKE
API_NET.plugin_API..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for API_NET.plugin_API
TestComAPIUnity.Start () (at Assets/TestComAPIUnity.cs:12)*
What I understand(I think) is that when I call the function, the assembly does it's job and try to find API_C.1.6.dll but can't find it.
Just to be sure I build the project the dll is in the project_data\Plugins folder but when I use the exe with my application nothing happens.
At some point I did do the DLLIMPORT myself and I had this kind of error:
*Failed to load 'Assets/Plugins/x86_64/audiopluginvrunity.dll' with error 'The specified module could not be found.
',
TestComAPIUnity.Start () (at Assets/TestComAPIUnity.cs:12)
DllNotFoundException: API_C.1.6.dll'*
I arrived at the conclusion that doing the DLLIMPORTS myself or not just changed where the error would appear in my script or in the assembly.
I also checked if the dlls were 64bits like my OS and my UnityEditor, they are.
I placed the API_C.1.6.dll in Assets, in Assets\Plugins, in Assets\Plugins\x86_x64(like the parameter in the plugin inspector), i placed it next to my exe and the assets folder, next to the API_NET.dll(in my application folders).
Some people on the internet seemed to had problems because they didn't had Microsoft Visual C++ 2015 Redistributable, I have it and I have a licenced VS2013.
I also tried to change my environment variable PATH at runtime with a static constructor but it changed nothing.
I'm starting to run out of ideas, so I ask you guys for help. By the way, judging by the number of post and articles about it, a lot of people seem to have trouble with handeling DLLs in Unity.
Thanks
Vincent
P.S: because of confidentiality policy I had to change names and stuff so there may be one or to mistakes, sorry and forgive my not that good english
↧
DLLNotFoundException ThinkGear
Hi, I am trying to use ThinkGear Dll [ThinkGear .dll][1] (end of the page) but I get dllNotFoundException everytime when I try to run it. File structure for dll is right.( Plugins ( x86 ( .dll ) ) )
The thing is when I build the project and send it to my friend he can run it without any problem but I can not. Also I can play the games come with the driver which created by using the Unity. What can be the problem?
[1]: http://developer.neurosky.com/docs/doku.php?id=using_thinkgear_with_unity&s[]=unity
↧
↧
Can't get steamworks.NEt 7.0.0 to Work in Unity 4.6
Hi The problem is that in the title, I've downloaded steamworks.net 7.0.0 and I'm using Unity 3D 4.6.0f3, but whenever I Initialize a Build or the project I get the error:
[Steamworks.NET] Could not load [lib]steam_api.dll/so/dylib. It's likely not in the correct location. Refer to the README for more details.
System.DllNotFoundException: CSteamworks
at (wrapper managed-to-native) Steamworks.NativeMethods:SteamAPI_RestartAppIfNecessary (Steamworks.AppId_t)
at Steamworks.SteamAPI.RestartAppIfNecessary (AppId_t unOwnAppID) [0x00005] in C:\Users\Pc\xxxxxxx\Assets\Plugins\Steamworks.NET\Steam.cs:41
And I've found no way around it, I tried copying steam_api.dll basically all over the project and nothing changes :s
Any help would be greatly appreaciated guys.
↧
Nvidia Ansel integration Issue :: DllNotFoundException
I'm interested in testing out Nvidia's ANSEL plugin, as shared here on the asset store: https://www.assetstore.unity3d.com/en/#!/content/74758
I am running Unity 5.5 on a modern (64 bit) Windows desktop with a GTX 1070 graphics card.
Unfortunately, adding the Ansel script to my main camera results in the following error:
"DllNotFoundException: AnselPlugin64".
I have verified that the AnselPlugin64.dll file is present in my project's Assets/Plugins folder, and that it is set to plugin enabled for all platforms in the inspector. Any ideas what could be going wrong here?
↧
Unity does not create Unityassemblies folder in Unity
We use Unity with git in the office and recently included Unity Test Tools, which reference Mono.Cecil.
80% of the machines are fine with everything, on around 20% the Mono.Cecil dll is not found. We already nailed the error down to the ProjecTname/Libraries/UnityAssemblies folder not beeing created / not containing all dlls, but I have no idea how to approach a solution.
Can anyone give some insights hwo this folder is managed / where contents are defined?
↧
GST Movie Texture Android - Dll missing
Hi guys, Im trying to use this asset https://www.assetstore.unity3d.com/en/#!/content/59897
It works fine on windows, and it says it supports android. but when I try to play on editor set to buil on android, it shows this error:
DllNotFoundException: gstreamer_android
GStreamer.Ref (System.String gst_debug_string, .GUBUnityDebugLogPFN log_handler) (at Assets/Scripts/GstUnityBridge/GStreamer.cs:96)
GstUnityBridgeTexture.Initialize () (at Assets/Scripts/GstUnityBridge/GstUnityBridgeTexture.cs:241)
GstUnityBridgeTexture.Start () (at Assets/Scripts/GstUnityBridge/GstUnityBridgeTexture.cs:278)
It seems many user have this problem, but one user seems to have solved the issue because, on the reviews section, he said that he, with some struggle, was able to stream on android.
I dont know how to get in contact with this user ( @biggsthecat
)
any one that can help me solve this please.
thanks in advance
↧
↧
Firebase TypeInitializationException/DLLNotFoundException on Android
Hi!
I am trying to use Firebase within Unity (5.5.2). It works fine in the editor, but when I make an Android build and try to run it, I get the following error:
![alt text][1]
[1]: /storage/temp/89023-screenshot-2017-02-28-14-04-10.png
There is only one line of code that I am trying to run:
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl(myurl);
**What I did**
I created a new project, set it to Android, imported the Firebase SDK from this site: https://firebase.google.com/docs/unity/setup and importet the FirebaseDatabase.unitypackage.
Then I created a script that tries to set the URL, which works fine in the editor (I can even go further and read and write to the database).
**Fixes I tried**
- setting the PATH variable according to https://github.com/firebase/Firebase-Unity/issues/2
- updating everything in my SDK Manager, all the Google stuff and Android tools, SDK for each version
- uninstalling and reinstalling Java (64 Bit)
The very strange thing is, that the same project works for another person. When he builds, I can run the app on my phone just fine. So the issue must be something in my workspace. Here is what I got:
- Windows 8.1 and 7 (64 Bit)
- Unity 5.5.2f1 (also tried 5.5.0)
- jdk-8u121
- android-ndk-r10e
- Go Play services v39
- Google Repository v44
Can anyone think of ANYTHING at all that might cause this issue? There must be *something* I am missing...
↧
DLL plugins unsupported for Android Application Building
I am developing an Android application in VR using Unity, I wrote some functions in C++ and imported that as DLL file in my Unity project. The DLL was imported successfully when it was running on Windows. The main problem came into picture when I was building the same for my android device, Unity had built some app but it crashed when I installed it on my phone.
I made some research to find out what was wrong, and I found this answer (http://answers.unity3d.com/questions/722496/how-can-i-include-a-c-dll-in-the-apk-file.html). Someone said that I need to make a .so file. I made that using NDK on Android Studio.
Can someone help me with how to import that .so file in a C# Script on Unity?
↧
EntryPointNotFoundException - native plugin help
**EDIT: SOLUTION IS BELOW! - look for the header "**SOLUTION**"**
Hello,
So I'm trying to use a C++ native plugin (balls.dll) with a C# script in my project (Unity 5.5.0f3). The dll is inside my assets/plugins folder.
My code (simplified) looks something like this:
public class Bigballs : Monobehaviour
{
[DllImport("balls")]
public static extern int Init(); //returns 0 if initialized, else returns -1
int x;
void Start()
{
x = Init();
}
}
While in editor, I hit run and Unity responds with "EntryPointNotFoundException: Init" at the line "x=Init()". What can I do to fix this? I have tried searching Unity forums and googled, it seems no one is really having the same issue in regards to native plugins.
If it is worth mentioning, I have worked with native plugins in the past, and initially, I tried [DllImport("balls.dll")], which is how I was able to access my dll methods in an older project. However, this time I got a "DllNotFoundException". After some quick googling, it was suggested that dropping the .dll would get rid of the DllNotFoundException in the DllImport.
I greatly appreciate your help in advance.
**SOLUTION**
So here is what I did that FINALLY got it to work. I created a constructor to find my plugin, solving the DllNotFoundException. What it does is set the current path to the location of my plugin, which is in Assets/Plugins/x64.
static Bigballs() //constructor
{
String currentPath = Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process);
String dllPath = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "Assets" + Path.DirectorySeparatorChar + "Plugins" + Path.DirectorySeparatorChar + "x64";
if (currentPath.Contains(dllPath) == false)
{
Environment.SetEnvironmentVariable("PATH", currentPath + Path.PathSeparator + dllPath, EnvironmentVariableTarget.Process);
}
}
This resulted in the Dll being found, but still returns EntryPointNotFoundException. So here is the annoying part. You have to crack open the .dll, or if you're lucky and have a .lib, you can use that. What you want to do is find the Entry Point of your function inside the .dll or .lib, I am going to describe how I did it using Visual Studio and a .lib, but this should work for another program that can open .dlls and with a .dll.
So to see the contents of Balls.lib, I dragged it into Visual Studio's solution explorer and then opened it. Inside balls.lib, there is a column of what seems like jibberish, but these are actually entry points. You have to pinpoint the exact function you are trying to import, so for me it is Init(), and inside the .lib, the entry point looked like this:
?Init@@YA?AW4variable@@XZ
One thing I noticed, all the functions' entry points seem to be within a pair of periods ('**.**'), so just copy and paste the entry point, format it to have no spaces, and add it to your DllImport call, like so:
[DllImport("SimballMedicalHID.dll", EntryPoint = "?Init@@YA?AW4variable@@XZ")]
And that's how I eliminated these two annoying problems. I spent days stuck on my project and I hope that at least some of this is helpful for anyone else experiencing similar issues.
↧