Undefined symbol: protocol conformance descriptor when linking swift package - linking fails?

Viewed 857

I have added my own swift package to my project and after much thrashing around have it and the project compiling however it appears to fail on linking!

There are no code errors given just the following for which is totally beyond me:

Undefined symbols for architecture x86_64:
  "protocol conformance descriptor for MultiLineEdit.MultiLinesEditable : Combine.ObservableObject in MultiLineEdit", referenced from:
      lazy protocol witness table accessor for type MultiLineEdit.MultiLinesEditable and conformance MultiLineEdit.MultiLinesEditable : Combine.ObservableObject in MultiLineEdit in CourseElementView.o
      lazy protocol witness table accessor for type MultiLineEdit.MultiLinesEditable and conformance MultiLineEdit.MultiLinesEditable : Combine.ObservableObject in MultiLineEdit in TemplatePopupView.o
  "type metadata accessor for MultiLineEdit.MultiLinesEditable", referenced from:
      property wrapper backing initializer of Peak_Training_Managment_System.CourseElementView.theText : MultiLineEdit.MultiLinesEditable in CourseElementView.o
      lazy protocol witness table accessor for type MultiLineEdit.MultiLinesEditable and conformance MultiLineEdit.MultiLinesEditable : Combine.ObservableObject in MultiLineEdit in CourseElementView.o
      Peak_Training_Managment_System.CourseElementView.$theText.getter : SwiftUI.ObservedObject<MultiLineEdit.MultiLinesEditable>.Wrapper in CourseElementView.o
      Peak_Training_Managment_System.CourseElementView.init() -> Peak_Training_Managment_System.CourseElementView in CourseElementView.o
      one-time initialization function for newClassElements in NewClassView.o
      property wrapper backing initializer of Peak_Training_Managment_System.AttendeeResultsObservable.notes : MultiLineEdit.MultiLinesEditable in AttendeeResultsView.o
      Peak_Training_Managment_System.AttendeeResultsObservable.init([Swift.String]) -> Peak_Training_Managment_System.AttendeeResultsObservable in AttendeeResultsView.o
      ...
  "nominal type descriptor for MultiLineEdit.MultiLinesEditable", referenced from:
      _symbolic _____y_____G 7SwiftUI14ObservedObjectV 13MultiLineEdit0E13LinesEditableC in CourseElementView.o
      _symbolic _____ 13MultiLineEdit0A13LinesEditableC in AttendeeResultsView.o
      _symbolic _____y_____G 7Combine9PublishedV 13MultiLineEdit0C13LinesEditableC in AttendeeResultsView.o
      _symbolic _____y______G 7Combine9PublishedV9PublisherV 13MultiLineEdit0D13LinesEditableC in AttendeeResultsView.o
      _symbolic _____y_____G 7SwiftUI14ObservedObjectV 13MultiLineEdit0E13LinesEditableC in TemplatePopupView.o
  "MultiLineEdit.MultiLinesEditable.__allocating_init([Swift.String]) -> MultiLineEdit.MultiLinesEditable", referenced from:
      Peak_Training_Managment_System.CourseElementView.init() -> Peak_Training_Managment_System.CourseElementView in CourseElementView.o
      one-time initialization function for newClassElements in NewClassView.o
      Peak_Training_Managment_System.AttendeeResultsObservable.init([Swift.String]) -> Peak_Training_Managment_System.AttendeeResultsObservable in AttendeeResultsView.o
      Peak_Training_Managment_System.TemplatePopupView.init(templateDataVal: Peak_Training_Managment_System.TemplateData, courseDefId: Swift.Int, callBackRef: () -> ()) -> Peak_Training_Managment_System.TemplatePopupView in TemplatePopupView.o
  "MultiLineEdit.ErrorView.init(text: Swift.String) -> MultiLineEdit.ErrorView", referenced from:
      Peak_Training_Managment_System.NewClassView.getPopupView() -> SwiftUI.AnyView in NewClassView.o
      Peak_Training_Managment_System.NewClassForCoView.getPopupView() -> SwiftUI.AnyView in NewClassForCoView.o
      Peak_Training_Managment_System.TraineeResultsView.getPopupView() -> SwiftUI.AnyView in TraineeResultsView.o
  "protocol conformance descriptor for MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit", referenced from:
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in NewClassView.o
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in NewClassForCoView.o
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in TraineeResultsView.o
  "type metadata accessor for MultiLineEdit.ErrorView", referenced from:
      Peak_Training_Managment_System.NewClassView.getPopupView() -> SwiftUI.AnyView in NewClassView.o
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in NewClassView.o
      Peak_Training_Managment_System.NewClassForCoView.getPopupView() -> SwiftUI.AnyView in NewClassForCoView.o
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in NewClassForCoView.o
      Peak_Training_Managment_System.TraineeResultsView.getPopupView() -> SwiftUI.AnyView in TraineeResultsView.o
      lazy protocol witness table accessor for type MultiLineEdit.ErrorView and conformance MultiLineEdit.ErrorView : SwiftUI.View in MultiLineEdit in TraineeResultsView.o
ld: symbol(s) not found for architecture x86_64

After much googling arouns still no idea even where to start on this, can you help?

0 Answers
Related