KhronosGroup / KhronosGroup/OpenXR-SDK-Source

OpenXR+JsonCpp can not be statically linked at the same time (duplicate symbols)

Open
#545 5 comments 0 reactions 0 assignees View on GitHub
synced to gitlab
Dominant language
Python
Stars
825
Forks
306
Avg merge
1d 23h
Merged PRs (30d)
1

Description

It is impossible to statically compile and link both OpenXR and JsconCpp (other libraries for example) into the same application. Reason is that OpenXR uses internally compiled JsonCpp library. This causes duplicate jsoncpp symbols in the final link.

Unfortunately due to #314 it is not possible to statically compile a separate jsoncpp and then use "-DBUILD_WITH_SYSTEM_JSONCPP=Yes" to force using this one.

We need a solution for this and the solution can only be to fix the build system to work with system jsoncpp combined with statically building the loader. Otherwise it is not possible to use OpenXR and JsonCpp at the same time.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by inspecting how BUILD_WITH_SYSTEM_JSONCPP is handled when the loader is built statically; done means an application can link the static OpenXR loader with an external JsonCpp library without duplicate symbols.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.