Skip to content

Conversation

ccomsi
Copy link

@ccomsi ccomsi commented Apr 18, 2024

In a project utilizing both Swift and Objective-C, we encountered issues when integrating the libPhoneNumber library via Swift Package Manager. Specifically, after importing libPhoneNumber in Objective-C files, the build process resulted in the following duplicate symbol errors:

  • duplicate symbol '_kPhoneNumberMetaDataExpandedLength'
  • duplicate symbol '_kPhoneNumberMetaDataCompressedLength'
  • duplicate symbol '_kPhoneNumberMetaData'

These errors prevented successful compilation and needed to be addressed to ensure smooth integration and functionality.

Resolution
To resolve these symbol duplication errors, we have modified the GeneratePhoneNumberHeader.sh script. The script update involves adjusting the global variables declared in NBGeneratedPhoneNumberMetaData.h to be treated as external (extern). This change ensures that these variables are linked appropriately across different compilation units, thereby eliminating the duplication issues and allowing the build process to complete successfully.

This update is crucial for maintaining build integrity and enabling seamless integration of libPhoneNumber within our mixed Swift and Objective-C codebase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants