When I utilize “loadlibrary”to load dll file, it shows that,“Error using loadlibrary Failed to preprocess the input file.”

2 visualizaciones (últimos 30 días)
When I utilize “loadlibrary”to load dll file, it shows that,“Error using loadlibrary Failed to preprocess the input file.” ,and fails.
Does the .dll file or .h file,need to be add or delete extra codes to format?
This is my code,of which the m-file is placed with sisl.dll and sisl.h:
if ~libisloaded('sisl')
loadlibrary('sisl','sisl.h');
end

Respuestas (1)

sanidhyak
sanidhyak el 6 de Mzo. de 2025
I understand that you are facing the error "Failed to preprocess the input file" while usingloadlibrary function in MATLAB to load sisl.dll. This issue usually occurs due to missing dependencies, incorrect header file formatting, or compiler configuration problems.
You can try the following workarounds for the same:
1. Make sure that “sisl.h is correctly formatted and contains function prototypes. You should simplify any complex preprocessing directives (#define macros) or provide a preprocessed version of the file.
2. You can modify the provided code as follows:
if ~libisloaded('sisl')
loadlibrary('sisl', 'sisl.h', 'mfilename', 'sisl_proto');
end
This will generate an “M-file to assist MATLAB in handling the DLLfunctions.
3. You can check MATLAB’s compiler setup by running:
mex -setup
If no compiler is set, install a compatible one from MATLAB’s supported compilers list.
4. If sisl.h references other headers, manually include them using:
loadlibrary('sisl', @sisl_proto);
5. Ensure sisl.dll is compiled for the same MATLAB architecture (64-bit vs. 32-bit). Check for missing dependencies using:
Windows:
depends sisl.dll
Linux:
ldd sisl.dll
6. If the header file is problematic, try loading the DLL without it:
loadlibrary('sisl', '', 'alias', 'sisl');
For more details, refer to loadlibrary” in MATLAB documentation:
I hope this helps!

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by