Raspbian(bullseye)下gcc用-soname创建动态库报错求助
问题原因与解决方法
你的两个报错都是因为链接器参数的写法错误导致的:
gcc: error: unrecognized command-line option '-soname,':-Wl,-soname,libshprimes.so的逗号分隔写法被解析成了带逗号的无效选项-soname,,链接器无法识别。gcc: error: libshprimes.so: No such file or directory:libshprimes.so被gcc误判为需要编译的输入文件,而非-soname选项的参数。
正确的命令写法
推荐用等号将-soname和目标库名绑定,确保参数被链接器正确识别:
gcc -shared -Wl,-soname=libshprimes.so -o libshprimes.so.1 primes.o
执行后会生成libshprimes.so.1动态库,后续还需创建软链接让系统能找到库的链接名:
ln -s libshprimes.so.1 libshprimes.so
内容的提问来源于stack exchange,提问作者DrBwts
相关产品推荐
相关产品推荐

