在使用codeblock创建一个shared library (动态库)工程后,把相关编译环境配置好后,点击“生成”时会出现,以下错误:
relocation R_X86_64_32 against `_ZTV22CGenerateAbstractVideo' can not be used when making a shared object; recompile with -fPIC
obj/Debug/CGenerateAbstractVideo.o: 无法添加符号: 错误的值
解决办法:
项目--属性--生成选项--其他编译器选项:添加“-fPIC”,确定即可,如下图所示:
注:如果重新生成时仍然出现上述错误时,则可以先清理该工程,然后再重新生成即可。