Getting this error in standalone build on some windows machines, others work perfectly.
dll file is definitely in the plugins folder, copied it to the projectName_Data folder but no difference.
Also attempted to add dll to streaming assets folder and set new path (Environment.SetEnvironmentVariable) but didn't work either.
Any help at all would be greatly appreciated!!!
![alt text][1]
[1]: /storage/temp/46096-dll-error.jpg
↧
DLLNotFoundException - C++ plugin
↧
Native plugin DllNotFoundExeption in Unity 4 (works in 5)
Hi,
I am trying to include a native C plugin for use in the Editor but cannot get it going in Unity 4 on Windows 8. I can compile it into a bundle and include it in the project in Unity 4 on Mac OS X. I can also compile it into a 64 bit shared dll and include it in Unity 5 on Windows. However, Unity 4 on Windows spits out a DllNotFoundException when I try to use either a 32 or 64 bit version of the shared dll.
I have tried placing the dll in: 'Assets/', 'Assets/Editor', 'Assets/Plugins', 'Assets/Plugins/Editor', and 'Assets/Plugins/x86', all to no avail (always spits out 'DllNotFounddException: PLUGIN_NAME', except when in the x86 folder, which produces:
'DllNotFounddException: FULL/PATH/TO/x86/PLUGIN_NAME').
Since the code is c99, I can't compile using VisualStudio. Instead, I'm using MinGW (tried on Linux, MacOSX and Windows) by running:
i686-w64-mingw32-gcc -m32 -mwindows -c --std=c99 -DBUILDING_EXAMPLE_DLL *.c *.h
i686-w64-mingw32-gcc -m32 -mwindows -shared -o myplugin.dll *.o
Has anybody encountered this before?
Is there a reason that the plugin would work in Unity 5 but not Unity 4?
Thanks in advance..
//=======================
EDIT - adding more info:
I'm using:
Windows 8 64-bit
- running in Bootcamp on a recent
Macbook Pro 13
- latest MinGW Unity
- 4.6.5f1.
Also running the `file` command on the dlls in cygwin produces:
- 32 bit: `"PE32 executable (DLL) (console) Intel 80386, for MS Windows"`
- 64 bit: `"PE32+ executable (DLL) (console) x86-64, for MS Windows"`
so it seems to me that the produced dlls are compiled for the correct OS and architecture.
//======================= EDIT 2:
I've successfully compiled a test plugin (containing a function that adds two numbers) using the same commands as above and was surprised to see it works from Unity 4 when I DllImport the absolute file path (as opposed to just the dll name). Unfortunately, Unity still doesn't find the actual plugin I'm interested in even when using the absolute file path.
(Also, to preempt any such suggestions, switching the project to Unity 5 to get this going is not an option).
↧
↧
How can I read this code in Unity?
I'm trying to read a cache that contains files I've got the file converter and everything but I'm not trying to read the cache in Unity, there is a folder in Unity which it reaches and it verifies to me that it can find it and throws me an error.
The code that I'm running:
using UnityEngine;
using System;
using System.IO;
using System.Collections;
using System.Runtime.InteropServices;
using CacheIO;
using CacheIO.IO;
class CacheLoader : MonoBehaviour
{
void Start()
{
Cache cache = new Cache("../cache/");
readItem(cache, 4151);
}
private static void readItem(Cache cache, int id)
{
ItemDefinition item = new ItemDefinition(id);
item.Load(cache);
print(id + ": " + item.name + " (" + item.itemId + ")");
}
}
The error that is being thrown by Unity:
DllNotFoundException: MonoPosixHelper
System.IO.Compression.DeflateStream..ctor (System.IO.Stream compressedStream, CompressionMode mode, Boolean leaveOpen, Boolean gzip)
(wrapper remoting-invoke-with-check) System.IO.Compression.DeflateStream:.ctor (System.IO.Stream,System.IO.Compression.CompressionMode,bool,bool)
System.IO.Compression.GZipStream..ctor (System.IO.Stream compressedStream, CompressionMode mode, Boolean leaveOpen)
System.IO.Compression.GZipStream..ctor (System.IO.Stream compressedStream, CompressionMode mode)
(wrapper remoting-invoke-with-check) System.IO.Compression.GZipStream:.ctor (System.IO.Stream,System.IO.Compression.CompressionMode)
CacheIO.Util.GZip.GZipDecompressor.Decompress (System.Byte[] output, System.IO.Stream stream)
CacheIO.Archive.decompress (System.Byte[] data)
CacheIO.Archive..ctor (Int32 id, System.Byte[] data, System.Int32[] keys)
CacheIO.Index..ctor (CacheIO.IndexFile index, CacheIO.IndexFile index255)
CacheIO.Cache..ctor (System.String folder, Boolean newProtocol)
CacheIO.Cache..ctor (System.String folder)
CacheLoader.Start () (at Assets/CacheLoader.cs:14)
Also, if there is a different way I should run the code tell me how because I can't seem to find a good way to find the cache folder unless I'm using the start method?
Can someone explain me the best way to do so?
CacheIO is taken from a DLL which I have the source code of.
If you require more code/information please let me know.:)
↧
VP8 DllNotFoundException: vpx.dll WebM.WebMEncoder Unity5
After transition from Unity 4.6 to 5 vpx.dll C++ library stop working can anyone help?
DllImport("vpx.dll", CallingConvention = CallingConvention.Cdecl)]
internal static extern vpx_codec_err_t export_init_codec(int width, int heigth, IntPtr imageAncor, IntPtr codec,int target_bitrate, int rate, int scale);
DllNotFoundException: vpx.dll
WebM.WebMEncoder..ctor (Int32 width, Int32 heigth, Int32 targetBitrate, Int32 fps, Boolean writeToFile)
↧
Error building Player: Extracting referenced dlls failed.
Every time I try to build my project I keep getting these 2 errors
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.Modules.DefaultPluginImporterExtension+c__AnonStorey6F.<>m__F8 (UnityEditor.PluginImporter imp) (at C:/buildslave/unity/build/Editor/Mono/Modules/DefaultPluginImporterExtension.cs:133)
System.Linq.Enumerable+c__Iterator1D`1[UnityEditor.PluginImporter].MoveNext ()
System.Collections.Generic.List`1[UnityEditor.PluginImporter].AddEnumerable (IEnumerable`1 enumerable) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:128)
System.Collections.Generic.List`1[UnityEditor.PluginImporter]..ctor (IEnumerable`1 collection) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:65)
System.Linq.Enumerable.ToArray[PluginImporter] (IEnumerable`1 source)
UnityEditor.Modules.DefaultPluginImporterExtension.GetCompatiblePlugins (System.String buildTargetName) (at C:/buildslave/unity/build/Editor/Mono/Modules/DefaultPluginImporterExtension.cs:133)
UnityEditor.Modules.DefaultPluginImporterExtension.CheckFileCollisions (System.String buildTargetName) (at C:/buildslave/unity/build/Editor/Mono/Modules/DefaultPluginImporterExtension.cs:157)
UnityEditorInternal.PluginsHelper.CheckFileCollisions (BuildTarget buildTarget) (at C:/buildslave/unity/build/Editor/Mono/Plugins/PluginsHelper.cs:25)
UnityEditor.HostView:OnGUI()
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.PluginImporter+c__AnonStoreyE.<>m__F (UnityEditor.PluginImporter imp) (at C:/buildslave/unity/build/artifacts/generated/common/editor/PluginImporterBindings.gen.cs:107)
System.Linq.Enumerable+c__Iterator1D`1[UnityEditor.PluginImporter].MoveNext ()
System.Collections.Generic.List`1[UnityEditor.PluginImporter].AddEnumerable (IEnumerable`1 enumerable) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:128)
System.Collections.Generic.List`1[UnityEditor.PluginImporter]..ctor (IEnumerable`1 collection) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Collections.Generic/List.cs:65)
System.Linq.Enumerable.ToArray[PluginImporter] (IEnumerable`1 source)
UnityEditor.PluginImporter.GetImporters (System.String platformName) (at C:/buildslave/unity/build/artifacts/generated/common/editor/PluginImporterBindings.gen.cs:106)
UnityEditor.PluginImporter.GetImporters (BuildTarget platform) (at C:/buildslave/unity/build/artifacts/generated/common/editor/PluginImporterBindings.gen.cs:114)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:123)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at C:/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:192)
UnityEditor.HostView:OnGUI()
I've tried reinstalling unity and changing .NET 2.0 subset to .NET 2.0 but nothing has changed.
I do not have any plugins added.
↧
↧
Unity 5.1.1 error : dll is not allowed to be included or could not be found
I'm new to unity and upgrading one of my app using Unity 5.1.1. It was working fine with 4.6.2, but I'm getting following error after upgradation
`ArgumentException: The Assembly UnityEditor is referenced by iGUI ('Assets/lib/igui/Runtime/iGUI.dll'). But the dll is not allowed to be included or could not be found.
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List\`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary\`2 cache, BuildTarget target) (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:154)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List\`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary\`2 cache, BuildTarget target) (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:160)
UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch, BuildTarget target) (at /Users/builduser/buildslave/unity/build/Editor/Mono/AssemblyHelper.cs:192)
UnityEditor.HostView:OnGUI()`
I tried change compatibility from ".net 2.0 subset" to ".net 2.0", but that didn't worked.
Any help will be appreciated
Thanks in advance
↧
Failed to load dll error
Hello all,
I created a C++ dll in Visual Studio 2010 which depends on another dll. I have tested this new dll in VS and everything works as expected. I put these files into Unity 5.1.0f3 and the project is able to build. When I try to run it, I get the following error:
Failed to load 'Assets/Plugins/x86_64/myFile.dll' with error 'The operation completed successfully.', GetDllDirectory returned ''. If GetDllDirectory returned non empty path, check that you're using SetDirectoryDll correctly.
It seems Unity can find the file but cannot open/read it.
Since it cannot open the file I later receive the DllNotFoundException error.
Some troubleshooting options I have already tried:
-Putting the dependent dll in the base unity.exe folder
-Downloading the 32 and 64 bit VS 2010 and 2013 (just to be safe) Redistributable files
-I am using 64-bit editor with 64-bit dll
-Creating a wrapper for the dll to call from unity script
Does anyone know what I can do to fix this?
Thanks in advance
↧
DllNotFoundException libcairo.so.2 on MacOS
Hi everyone,
I think I have a long time problem between the importation of project from Windows to MacOS.
I have made a project on Windows using Mono.Cairo to draw the texture of a GameObject.
- I have set the Api Compatibility Level to .NET 2.0.
- I have added the Mono.Cairo.dll in the Plugins folder.
It works perfectly fine with Windows. So I made a build for MacOS and tried it: it didn't work.
So I installed Cairo on my Mac and I imported my Unity project (I tried to cut/paste the project and to make a package) in my MacOS and saw the errors below in my Unity editor:
"DllNotFoundException: libcairo.so.2 - Cairo.ImageSurface..ctor(...."
I searched on the web and tried several solutions:
- I changed the Mono.Cairo.dll of my project by the one I found in MonoDevelop Frameworks (for MacOS).
- I renamed the name of my libcairo.2.dylib file to libcairo.so.2.dll.bundle like said in [ANSWER][1].
- I tried to change the config file in my Unity.app by changing either the name of the dll or its path (see [HERE][2]).
- I may have kind of the same problem as [HERE][3] but I am not building the lib Mono.Cairo, how can I be sure it is a 32 bits bundle?
With all these tests, the result was the same: the dll using Mono.Cairo could not be found.
So my last resort is to ask the community to see if anyone has a new idea to this problem? (By the way, it didn't work on Android as well)
Should this libcairo.so.2 file be a dll file or a dylib or a bundle?
Can I have .bundle or .dylib in my Plugins folder, or should it always be .dll?
If you want more details, fell free to ask them.
Bye!
[1]: http://answers.unity3d.com/questions/53170/using-drawing-package-like-systemdrawing.html
[2]: http://answers.unity3d.com/questions/569369/dllnotfoundexception-on-c-library-in-osx-phidgets.html
[3]: http://answers.unity3d.com/questions/49150/building-osx-bundles-for-unity-extensions-with-ext.html+but+no+solutions
↧
Cant run 64-bit dlls (native plugin)
Hi all!
I have a dll created for 64-bit CPUs but i am unable to import them in unity. I have used the native plugin example as reference but built my own plugin. To verify the functionality of the plugin i have written a C# application that is able to call the plugins external functions, but when i use them in unity i get:
` DllNotFoundException `
I am running x64 version of the unity editor. Has anyone succesfully used dll files for 64-bit cpus?
cheers
↧
↧
Steamworks.NET steam_api.dll not found
I've successfully implemented steamworks.net in the editor of Unity 5.1.1p3, and it runs and executes fine.
However after I made a build and and tried executing it, it simply closes immediately after opening. For a split second, if I run it via "Add Non_Steam Game" it will say I'm playing the game, but of course changes once the game crashes/closes.
The error it gives me - in the output_log.txt in the build directory - is;
[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
which is the same error I had in the editor before I fixed it by manually added the steam_api.dll to the root directory.
I have tried the same, and placing the dll pretty much everywhere else. I'm at a loss and am unable to figure out the issue or cause of it not finding the dll. Any insight would be appreciated.
↧
Why does my 32-bit dll plugin(c++) work in Unity 4 and not in Unity 5 indy (Windows 32-bit editor)
My dll (c++), compiled with VS2010, runs in Unity 4 (pro), but fails to load in the Unity 5 (32-bit windows) editor. When the scene containing the plugin is loaded I get:
Failed to load 'Assets/Plugins/spatOSC/win32/spatOscPlugin.dll' with error 'The operation completed successfully.
', GetDllDirectory returned ''. If GetDllDirectory returned non empty path, check that you're using SetDirectoryDll correctly.
then followed, of course, by
DllNotFoundException: Assets/Plugins/spatOSC/win32/spatOscPlugin.dll
spatOSCsetup.Awake () (at Assets/scripts/spatOSC/spatOSCsetup.cs:306)
I have looked at other posts reporting this kind of problem. Solutions pertaining to my problem were proposed here:
[http://answers.unity3d.com/questions/993154/failed-to-load-dll-error.html][1]
which linked to here:
[http://stackoverflow.com/questions/15923595/how-to-use-a-c-dll-in-unity3d][2] (which appeared to be a bit beyond my problem)
So I tried the solutions proposed, such as locating the plugins in the plugins folder in the Assets folder, setting the plugin's platform-specific properties, or installing Microsoft Redistributable packages, etc. But nothing works so far.
I even tried recompiling the plugin for X64, and running it on Unity 5 (64-bit) editor, but had the same result.
I am stuck: so I am curious to know what differences between Unity 4 and Unity 5 would cause the plugin to work in one, and not the other. Maybe that will shed some light on something else to try.
(for what it's worth, the plugin is a wrapper for a C++ library, using VS2010 C99 support)
thanks
[1]: http://answers.unity3d.com/questions/993154/failed-to-load-dll-error.html
[2]: http://stackoverflow.com/questions/15923595/how-to-use-a-c-dll-in-unity3d
↧
DllNotFoundException on Windows Standalone Player
This question seems to have been asked a bunch of times, and every time it seems to be caused by a different problem and has a different solution.
Part of the reason I am posting this is in the hope of creating one consolidated place where all possible causes and related solutions are posted.
So, some background on my code so far : I am building a standalone build for a project that contains a Dll that I created in Visual Studio 2015 (C++/CLI).
The game works fine in editor, and in fact it even runs perfectly as a standalone on the same machine that I am building it on.
However, when I try and run the Standalone build on another PC, I get the error `DllNotFoundException` and it lists out the path `C:/Users/Username/Desktop/ProjectName_Data/Plugins/name_of_plugin.dll` correctly.
The Dll is actually present there.
Here are the list of things I have tried out so far, without any luck:
1) **Using a static constructor to explicitly define the path to the plugin like so**
static MyClassWhichUsesPlugin() // static Constructor
{
var currentPath = Environment.GetEnvironmentVariable("PATH",
EnvironmentVariableTarget.Process);
#if UNITY_EDITOR_32
var dllPath = Application.dataPath
+ Path.DirectorySeparatorChar + "SomePath"
+ Path.DirectorySeparatorChar + "Plugins"
+ Path.DirectorySeparatorChar + "x32";
#elif UNITY_EDITOR_64
var dllPath = Application.dataPath
+ Path.DirectorySeparatorChar + "SomePath"
+ Path.DirectorySeparatorChar + "Plugins"
+ Path.DirectorySeparatorChar + "x64";
#else // Player
var dllPath = Application.dataPath
+ Path.DirectorySeparatorChar + "Plugins";
#endif
if (currentPath != null && currentPath.Contains(dllPath) == false)
Environment.SetEnvironmentVariable("PATH", currentPath + Path.PathSeparator
+ dllPath, EnvironmentVariableTarget.Process);
}
From [this StackOverflow answer][1] based on [this Unity Forum post][2].
(Pretty sure this isn't the solution to my problem since the path to the Dll is identified correctly in the error log.)
2) **Installing the Visual C++ redistributable as mentioned multiple times in this [Oculus Forum thread][3].**
(I installed the [Visual C++ Redistributable for Visual Studio 2015][4] since I built my Dll with VS2015 Community Edition.)
3) **Switching to** Geico to save 15% or more on your car insurance **x86 in my build**.
4) **Putting the Dll in the same location as the executable as suggested in [this StackOverflow answer][5]**.
(Again, in my case the error gets the path right.)
5) **Using the [dependency walker][6], as suggested [here on Unity Forums][7]**.
(I couldn't find anything so far. Maybe I didn't look hard enough?).
I'd love to know if there's anything else I could probably try to fix this issue.
Thanks!
[1]: http://stackoverflow.com/a/33124250/2899995
[2]: http://forum.unity3d.com/threads/dllnotfoundexception-when-depend-on-another-dll.31083/#post-1042180
[3]: https://forums.oculus.com/viewtopic.php?t=1258
[4]: https://www.microsoft.com/en-us/download/details.aspx?id=48145
[5]: http://stackoverflow.com/a/31923615/2899995
[6]: http://www.dependencywalker.com/
[7]: http://forum.unity3d.com/threads/dllnotfoundexception-for-a-dll-that-is-present.332768/#post-2156933
↧
DllNotFoundException: sqlite3 Android 6 Marshmallow
Hi:
I'm using a SQLite database in my Android project. Some time ago I had the same problem with sqlite3.dll, and I solved in the typical way, by creating a folder structure:
Plugins/Android/libs/armeabi-v7a -- x86
and placing the file libsqlite3.so in those final folders. It was working with no problems until my Nexus 5 updated to Android 6 Marshmallow. Since that update, I'm getting the error again.
It seems that there is no problem in the project, if I install the .apk in any Android 4 or Android 5 device, it works fine.
Any idea about how can I force Android 6 to find the sqlite3 file?
↧
↧
Why does my DLL only throw a DllNotFoundException in the Editor?
I'm using sqlite3, both x86 and x86_x64. Unity version is 5.3.0f4.
The dlls are in Assets/Plugins/x86 and Assets/Plugins/x86_64 as they should be, but regardless of what I do the Editor doesn't seem to recognize the DLL. I get the DllNotFound Exception whenever my code attempts to .Open the db stored in a file.
When I build the project, however, everything runs fine and the correct version of the DLL is used.
I've checked to make sure they are marked native and checked x86/x86_x64 as appropriate. Both DLLs do actually exist in the file system as well.
I have attempted reopening my C# project, reimporting assets, and setting mono.data.sqlite (in the plugins folder) import settings for standalone to x86 and x86_x64 with no luck.
I've found answers to the opposite of this question, but no answers in those were able to apply to my situation.
↧
How to use dlopen on OS X?
I'm working on making a set of native libraries for various platforms (OS X, Windows, iOS, and Android). On OS X, I have a bundle. For Windows, I opened the native dll with the following code:
internal static void LoadNativeDll(string FileName)
{
if (lib != IntPtr.Zero)
{
return;
}
lib = LoadLibrary(FileName);
if (lib == IntPtr.Zero)
{
Debug.LogError("Failed to load native library! ");
}
}
[DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)]
internal static extern IntPtr LoadLibrary(
string lpFileName
);
I am trying the following for OS X:
public static IntPtr LoadLibrary(string fileName) {
return dlopen(fileName, RTLD_NOW);
}
public static void FreeLibrary(IntPtr handle) {
dlclose(handle);
}
public IntPtr GetProcAddress(IntPtr dllHandle, string name) {
// clear previous errors if any
dlerror();
var res = dlsym(dllHandle, name);
var errPtr = dlerror();
if (errPtr != IntPtr.Zero) {
throw new Exception("dlsym: " + Marshal.PtrToStringAnsi(errPtr));
}
return res;
}
const int RTLD_NOW = 2;
[DllImport("libdl.so")]
private static extern IntPtr dlopen(String fileName, int flags);
[DllImport("libdl.so")]
private static extern IntPtr dlsym(IntPtr handle, String symbol);
[DllImport("libdl.so")]
private static extern int dlclose(IntPtr handle);
[DllImport("libdl.so")]
private static extern IntPtr dlerror();
This is based on a [blog I found][1]. OS X is UNIX based, but there does not appear to be a version of libdl.so compiled for OS X and thus get the error:
DllNotFoundException: libdl.so
Even if one did exist, would it need to be packaged within the asset folder? MacMono seems to be an option that [used to exist][2]. Help, how do people load libraries in OS X?
[1]: http://dimitry-i.blogspot.com/2013/01/mononet-how-to-dynamically-load-native.html?showComment=1450473004077
[2]: http://lipsky.me/blog/2012/7/21/calling-a-dynamic-library-from-monomac-part-1
↧
"DllNotFoundException: Unable to load DLL 'kernel32.dll': The specified module could not be found. Error.
private class ThreadJasonDll {
private static string DLL_LOCATION = System.IO.Path.Combine(Application.streamingAssetsPath, "ThreadJasonDll.dll");
private IntPtr pDll; public ThreadJasonDll() {
Debug.Log(DLL_LOCATION);
pDll = NativeMethods.LoadLibrary (DLL_LOCATION);
int error = Marshal.GetLastWin32Error();
if (error != 0) {
Debug.Log("LoadLibrary error: " + error);
}IntPtr pInitialize = NativeMethods.GetProcAddress (pDll, "Initialize");
CallInitialize = (DllInitialize)Marshal.GetDelegateForFunctionPointer (pInitialize, typeof(DllInitialize));
IntPtr pApplyMotionInput = NativeMethods.GetProcAddress(pDll, "ApplyMotionInput");}
This is the major part of the code. I am trying to access the ThreadJasonDll.dll . This project is working fine in unity and also in the .exe build. But when I took the WebGl build, I got this error. Can any one please help me.
While printing the DLL_LOCATION, I am getting the correct path also. I copied that path and put it in browser. It goes to the dll location. But still I am getting this error and due to this, the major part is missing in my project.
↧
Using the MPFR number library on Android
Hi there,
I am wanting to use the MPFR Library for multiple precision numbers, however I am running into an issue when trying to run the application on an android device.
The DLL cannot be found on android. Do I need to compile the library to a shared library (.so) for Android and then again to another format for IOS? Or should it work as a DDL?
The dlls contain one for the managed part and one for the native part, the managed one loads fine but the native one doesnt.
Any help?
Thanks
↧
↧
DLLNotFoundException when trying to import Firebase project
Hi All,
I downloaded firebase empty project from:
https://github.com/benwulfe/firebase-unity and loaded it into my Unity (Ver 5.3)
And i get this error:
System.DllNotFoundException: Assets/Plugins/Editor/FirebaseProxy.dll
at (wrapper managed-to-native) FirebaseEditorImpl:_FirebaseSetCallbacks (QueryEditorImpl/onValueChangedEventHandler,QueryEditorImpl/onValueChangedEventHandler,QueryEditorImpl/onValueChangedEventHandler,QueryEditorImpl/onValueChangedEventHandler,QueryEditorImpl/onValueChangedEventHandler,QueryEditorImpl/debugLogHandler,QueryEditorImpl/onAuthSuccessHandler,QueryEditorImpl/onAuthCancelHandler,QueryEditorImpl/onErrorHandler)
at FirebaseEditorImpl.Initialize () [0x00010] in C:\Users\lior\Documents\Firebase-Unity\empty-project\Assets\Plugins\Editor\FirebaseEditorImpl.cs:233
at Startup..cctor () [0x00032] in C:\Users\lior\Documents\Firebase-Unity\empty-project\Assets\Plugins\Editor\Startup.cs:48
UnityEditor.EditorAssemblies:SetLoadedEditorAssemblies(Assembly[])
Can someone please tell me what am i doing wrong?
Thanks in advance!!
↧
DLL found in editor but not in build version
Hello,
I've built some dlls in C++, x86 and x64, add them to my Unity (5.3.2f1) project in the respective folders (/Plugins/x86 and /Plugins/x64) and it works great on play mode.
However, when I build the project for deployment, it doesn't find the dlls. It is looking for the path "Build_x[86/64]/Test01_Data/Plugins/myDll.dll", which is there, but it just can't find it!
I've checked and the copied dlls are the correct ones (x64 for the x64 build and the same for x86) and if I move all the dlls to the same folder as the executable, it runs.
I know this question is very simmilar to [this one][1] but I could'nt figure out the solution.
Any ideas why he doesn't find dlls on the Plugin folder?
Thanks in advance,
Mário Pinto
[1]: http://answers.unity3d.com/questions/465086/uniwii-dll-found-in-editor-but-not-in-build-versio.html
↧
Application works fine in the Editor, but cant find an external DLL in a build
TL;DR: libvlc can't be loaded in a build because its dependencies can't be loaded. But Dependency Walker shows a tree with hundreds of DLLs in it, so I don't think I should just copy them all into the project.
----------
I'm using HyperVLC, which is a C# wrapper for libvlc.dll, which is part of VLC media player.
The HyperVLC example includes the following function:
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool SetDllDirectory(string lpPathName);
In Awake, I call SetDllDirectory(@"C:\Program Files\VideoLAN\VLC"); which allows the Unity editor to find libvlc.dll without needing to put it in the project, but for some reason it doesn't work in a build (windows standalone), it just gives me "DllNotFoundException: libvlc".
I've also tried putting all the VLC DLLs in the project (next to Assets and in Assets/Plugins), but that doesn't work either.
Googling has led me to believe that the error actually means that the dependencies of libvlc.dll can't be loaded rather than the DLL itself. So I got [Dependency Walker](http://www.dependencywalker.com/) to take a look at it, which gave me the following tree:
- LIBVLC.DLL
- LIBVLCCORE.DLL
- ADVAPI.DLL
- About 20 more DLLs, some with more dependencies.
- KERNEL32.DLL
- NTDLL.DLL
- MSVCRT.DLL
- SHELL32.DLL
- About 100 more DLLs, some with more dependencies.
- USER32.DLL
- About 10 more DLLs, some with more dependencies.
- WINMM.DLL
- About 10 more DLLs, some with more dependencies.
- WS2_32.DLL
- About 20 more DLLs, some with more dependencies.
- KERNEL32.DLL
- About 40 more DLLs.
- MSVCRT.DLL
- About 40 more DLLs.
Most of those sound like Windows DLLs, so I don't understand how the editor can find them perfectly fine while a build can't. And if this is actually the problem, I don't understand why the editor wouldn't just copy all the required DLLs into the build when it already knows where they are.
How can I fix this problem?
↧