-
My application use webrtc and msquic at the same time. It has webrtc directory, quic directory and main.cpp. I can't finish compiling because webrtc using boringssl and msquic using openssl, boringssl and openssl having many same export symbols. I know |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
I don't know if there is any solution to try to statically link both boringssl and openssl into the same process. BoringSSL was forked from openssl some time ago, that's why they're so similar. Perhaps @wfurt has some ideas, but otherwise it's likely a question beyond the scope of this project. |
Beta Was this translation helpful? Give feedback.
-
Finally solved by compile_msquic: update_submodule
mkdir -p ./dep/msquic/$(TARGET)
sed -i 's|\(^ *msquic_lib\)$$|\1 ALL|g' ./dep/msquic/src/bin/CMakeLists.txt
cmake -B./dep/msquic/$(TARGET) -S./dep/msquic -DQUIC_BUILD_SHARED=OFF -DCMAKE_TARGET_ARCHITECTURE=$(TARGET_CPU)
make -C./dep/msquic/$(TARGET) -j$(shell nproc)
$(eval renameSymbols=$(shell objdump -t ./dep/msquic/$(TARGET)/bin/Release/libmsquic.a | awk -v RS= '/_YB80VJ/{next}1' | grep -E 'g +F .text' | grep -Evi ' (ms){0,1}quic' | awk '{print " --redefine-sym " $$NF "=" $$NF "_YB80VJ"}'))
@objcopy $(renameSymbols) ./dep/msquic/$(TARGET)/bin/Release/libmsquic.a |
Beta Was this translation helpful? Give feedback.
Finally solved by
objcopy
. Only prefix withmsquic|quic
symbols are exported.