我試圖使用此配置命令從源代碼編譯phpcompiler。g ++ - 4.6.real:錯誤:無法識別的選項'-R'
./configure --prefix=/opt/phc-0.3.0.1/ --with-php=/opt/php-5.3.17/
的配置錯誤是,
checking for exit in -lboost_regex-mt... no
checking for exit in -lboost_regex-mt... (cached) no
checking for exit in -lboost_regex... no
checking for exit in -lboost_regex... (cached) no
checking for exit in -lboost_regex... (cached) no
configure: error: Could not link against boost_regex
那是完全錯誤的,因爲我有升壓和boost_regex包安裝。庫和頭文件。然後,我在config.log
文件
configure:17053: g++ -o conftest -g -O2 -L/lib/php5 -L/usr/lib/php5 conftest.cpp /usr/lib/libCrun.so.1 -lphp5 -L/opt/php-5.3.17//lib -R/opt/php-5.3.17//lib -ldl >&5
g++-4.6.real: error: /usr/lib/libCrun.so.1: No such file or directory
g++-4.6.real: error: unrecognized option '-R'
所以,對於這個unrecognized option '-R'
錯誤,許多-lboost_regex
支票未能挖這個!
我該如何解決這個問題?有沒有我可以編輯修復它的文件?爲什麼使用-R
?我認爲這將是-L
國旗。
在Linux上解決這類問題的一種方法是:運行'strace -o st.log -s 10240 -f -e open,讀取./configure'來查看哪些文件被configure和它的子進程打開和讀取。您可以搜索'st.log'來查看'-R'是從哪裏讀取的,並且有一點運氣可以編輯相關文件。 – MvG
海灣合作委員會對它無法識別的選項(它過去默默地忽略它們)有了很多挑剔。 '-R'選項可能是爲鏈接器設計的,所以當你發現它時,在它前面加上一個'-Wl'(沒有空格)。另外請注意,'-R'連接器選項可能實際上應該是'-rpath'(如果參數是文件或目錄,則'-R'的行爲不同;如果它是一個目錄,則它被視爲'-rpath'選項)。 –
@MvG我不想這樣跟蹤它。它可以通過修改automake文件修復! –