Developer Notes

This issue has been closed as 'Won't Fix' due to an extended period of time without updates. If this issue is important to you please let us know by posting on the AnswerHub or UDN, and Epic will re-open the ticket for further review.

Description

If a static library that is included with a UE4 project is changed, the new version of the library is not used when the project is built again. Instead, the original cached version of the library is still used. The Intermediate folder needs to be deleted and the project built again for the new library to be used.

Note: On Windows the updated static library is used without needing to delete the Intermediate folder.

Steps to Reproduce
  1. Create a static library in XCode.
    • Make sure the static library includes at least one function that can be called from within a UE4 project.
    • For help setting this up see this page: [Link Removed]
  2. Create a new UE4 project using the code first person template.
  3. Add the static library created in step 1 to the project.
    • See this page for help doing so, but you will need to modify some of the code to work on Mac: [Link Removed]
  4. Create a new Actor class in the project.
  5. Have the Actor class call one or more functions from the linked static library and output the results.
  6. Create a Blueprint of the new Actor class and place it in the scene.
  7. Start PIE and note the output from the static library functions.
  8. Stop PIE and close the Editor.
  9. Alter the static library code so that the functions being used in the UE4 project will return different values.
  10. Build the static library.
  11. Copy the new .a file for the library into the UE4 project, replacing the existing library.
  12. Build the UE4 project.
  13. Open the project in the Editor and start PIE.

RESULT:
The same results are shown as were received from the original library.

EXPECTED:
The results that are seen match the values expected from the newly built library.

WORKAROUND:

  1. Delete the Intermediate folder for the project.
  2. Right-click on the UE4 project's .uproject file and generate the XCode project.
  3. Open the XCode project.
  4. Build the UE4 project.

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Won't Fix
CreatedSep 9, 2016
ResolvedMar 26, 2018
UpdatedApr 27, 2018