2016-08-29 102 views
0

-fpic標誌的作用是什麼? 我想安裝一個庫(OpenSFM),並聲明它需要使用-fPIC編譯標誌構建並安裝的Ceres求解器。-fPIC編譯標誌有什麼作用?

問題是我已經安裝了沒有-fPIC標誌和其他庫已經依賴它的Ceres求解器。我該如何解決這個問題?

+0

-fPIC使共享庫的位置獨立代碼。共享庫的替代方案是使用靜態鏈接 –

+0

這與CMake無關。 '-fPIC'不是CMake標誌,而是一個編譯器。 –

回答

1

-fPIC的一個很好的解釋可以找到here

我認爲這裏的主要問題是,如果您仍然可以繼續安裝OpenSfM而不重建Ceres求解器。據我所知,你不能。

你可以做的最直接的事情就是重建Ceres求解器並重新安裝PIC版本。

cmake .. -DCMAKE_C_FLAGS=fPIC \ 
    -DCMAKE_CXX_FLAGS=-fPIC \ 
    -DSOMEOTHERARGUMENTSTHATYOUMIGHTHAVE 

讓我們知道它是如何解決你的。 :)

+0

如果我卸載了Ceres求解器,然後重新安裝,它是否會影響依賴它的其他庫(在這種情況下,它是OpenCV)? – Hilman

+0

使用-fPIC編譯的庫應該仍然兼容。 – bot1131357