我正在尝试将库加载到Firefox,并在终端中收到以下错误:
gcc -Wall -fPIC -c 11.cpp ,
gcc -shared -o libshared.so 11.o -ldl ,
LD_PRELOAD=$PWD/libshared.so firefox ,
/ bin / sh:符号查找错误:/home/enigma/Desktop/compilacionproceso/libshared.so:undefined symbol:__ gxx_personality_v0
答案 0 :(得分:0)
gcc -shared -o libshared.so 11.o -ldl -lstdc++
这是错误的解决方案,碰巧在Linux上偶然发挥作用。 构建共享库的正确命令行是:
g++ -shared -o libshared.so 11.o
(与普遍看法相反,gcc
和g++
不是一回事。)
答案 1 :(得分:0)
来自OP本人的回答,取自问题的修订:
我解决了添加标志-lstdc ++以创建库的问题 感谢这篇文章 What is __gxx_personality_v0 for?
cd /directory gcc -Wall -fPIC -c 11.cpp gcc -shared -o libshared.so 11.o -ldl -lstdc++ LD_PRELOAD=$PWD/libshared.so program