【发布时间】:2013-05-23 07:36:09
【问题描述】:
当我编译我的库时,我打开了-fPIC,因为我希望能够将它编译为共享库和静态库。
在 cygwin 上使用 gcc 3.4.4 我在所有源文件上都收到此警告:
-fPIC ignored for target (all code is position independent)
我真的很想知道这有什么意义。它告诉我我使用了一个没有效果的开关,因为该开关应该实现的功能已经完成。好吧,这意味着它是多余的,很好。但它有什么意义,我该如何压制它?
我不是在谈论为什么使用 PIC,只是为什么它会生成 IMO 无用警告。
【问题讨论】:
-
那么,您的真正问题是什么?不要在该目标上使用
-fPIC。 -
据我了解,问题是“它的意义何在,我该如何压制它?”
-
我在 GCC 错误跟踪器上报告了这个警告的存在作为一个错误,但开发人员似乎认为它没问题。警告比无用更糟糕——它无缘无故地使我的 Makefile 复杂化。
-
我认为您应该切换到 -fpic 以删除警告。 -fPIC 只在一些更不常见的平台上有所作为
-
这个警告比没用还糟糕。我经常使用
-Werror进行编译,这会在某些平台上引发虚假警告。
标签: c++ c gcc-warning