Eclipse,构建共享库的最佳方法?

时间:2014-01-03 13:15:32

标签: c++ eclipse gcc

我比较熟悉C ++并使用eclipse。

我在Visual Studio 2012中有一个带有C ++ / CLI Wrapper的 Native C ++ Static Library

现在我使用 Eclipse (Juno Service Release 2)和 GCC 4.2.4在Linux中构建Native C ++代码。

我在Eclipse中创建了一个共享库空项目,并添加了我所有的.h和.cpp文件,让Eclipse进行构建。但是我收到了错误

relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC

我在Project-> Settings-> GCC C ++ Compiler->中添加了 -fPIC 标志。 Miscellaneous->其他旗帜。

我不认识任何熟练使用Linux / Eclipse的人,所以我不确定我是否采取了最佳途径。

与我刚刚描述的方式相比,是否有最佳/“更正确”的方式来构建共享库? 我采取的方法有什么问题吗?

1 个答案:

答案 0 :(得分:1)

添加-fPIC是正确的做法,你应该没问题。

加载时需要重新定位共享库(ldd),主要有两种方法:加载时重定位和位置无关代码(PIC),后者是现代解决方案和体系结构的主流。 / p>