I am making a game in Unity Pro which uses an external C++ DLL.
The HARDWARE_INTERFACE.DLL is wrapped into a class like this:
class HARDWARE
{
[DllImport("HARDWARE_INTERFACE")]
public static extern bool HARDWARE_Open() ;
}
The DLL itself is located in `Assets/Plugins/`.
This is working fine in the editor, and also in a generic Windows build on the development machine which runs Windows 7. In the build, the DLLs are in `unity_app/unity_app_Data/Plugins/`.
However if I transfer the build to a Windows 8 Desktop machine, the log yields
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/.\libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
Fallback handler could not load library C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/libC:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
DllNotFoundException: C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll
at (wrapper managed-to-native) HARDWARE:HARDWARE_Open ()
It looks as if the whole path to the DLL (`C:/Users/user/Desktop/unity_app/unity_app_Data/Plugins/HARDWARE_INTERFACE.dll`) is being appended to the search paths (`C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/`, `C:/Users/user/Desktop/unity_app/unity_app_Data/Mono/lib`), which of course is nonsense.
How can I make Unity / Mono find the DLLs on the Windows 8 machine?
Any hints will be appreciated.
↧