Error in compiled application, constant property can't be found
    3 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Simeon
 am 28 Aug. 2025
  
    
    
    
    
    Kommentiert: Walter Roberson
      
      
 am 29 Aug. 2025
            I compiled a standalone executable using the Application Compiler but get an error when starting it because of 'Unable to resolve the name TestHelperClass.TestString'. Matlab then throws this error: MATLAB:undefinedVarOrClass. The TestHelperClass looks like this:
classdef TestHelperClass
    properties (Constant)
        TestString = "test"
    end
end
When using this way of getting predefined strings in MATLAB it works fine but not in compiled executables. Using get-functions which return the same strings results in the  exact same error so sadly this doesn't work.
Is there a workaround for this error?
2 Kommentare
  dpb
      
      
 am 28 Aug. 2025
				Did the compiler include the m-file containing the class definition in the required files?
Akzeptierte Antwort
  Walter Roberson
      
      
 am 29 Aug. 2025
        You need to create an object of class TestHelperClass and access the TestString property of that object.
Unfortunately it is not possible to subclass string class in order to hypthetically create an enumeration of type string.
2 Kommentare
  Walter Roberson
      
      
 am 29 Aug. 2025
				file TestHelperClass.m
classdef TestHelperClass
    properties (Constant)
        TestString = "test";
    end
    methods
        function obj = TestHelperClass()
        end
    end
end
together with separate
testHelpObj = TestHelperClass;
testHelpObj.TestString
However, you do not need the constructor in this particular case. It works to use file TestHelperClass.m
classdef TestHelperClass
    properties (Constant)
        TestString = "test";
    end
end
The seperate assignment to testHelpObj must not be part of TestHelperClass.m
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu MATLAB Compiler finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


