在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Linux/ cc1: error: unrecognized command line op

cc1: error: unrecognized command line option "-m64"

ubuntu16.04 64位交叉編譯環(huán)境

編譯openssl時,出現(xiàn)錯誤圖片描述

問題是configure執(zhí)行后生成的Makefile中的CFGLAG
CFLAG= -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -O3 -Wall

去掉-m64就行了

但是,每次編譯都要手動去改,有沒有其他方法?

回答
編輯回答
話寡

openssl 確實有點小特殊,我也沒弄過,但是授人以漁,教你方法。
看到開源代碼,第一反應是在configure中配置,但是下載代碼了發(fā)現(xiàn)沒有configure,還好我比較聰明,他有config,其實也有configure,只是Configure,首字母大寫。
然后發(fā)現(xiàn)他沒有配置選項,我就 grep -r "-m64" ./ 看是在哪里配置的,結果發(fā)現(xiàn)在Configure中有大量的的-m64。
再看前面的linux-ppc64,我就明白了,原來他是根據(jù)目標系統(tǒng)預先設定好編譯選項,那么出現(xiàn)-m64 的原因是識別錯了編譯器。
再反過來查找,發(fā)現(xiàn)編譯器的識別是在config里面做的,識別完成了,最后幾行的代碼是perl ./Configure $OUT,看明白了吧,要么讓config識別正確的編譯器,要么干脆根據(jù)你的系統(tǒng)寫死$OUT算了。

2017年5月22日 01:38