在ubuntu上編譯一個helloworld的測試程序出現無法運行的問題,錯誤如下:
一開始以爲權限問題,加了權限後還是無法執行,網上查了下,有說是32位編譯的無法運行在64位,還有的說是文件系統掛載的問題,後來看到一個討論原來是編譯選項出錯了,編譯時候多加一個-c參數,導致只編譯不鏈接,從而無法執行,去掉該選項後重新編譯運行正常。
#錯誤編譯選項
app:
gcc -Wall -o demoapp -c call_lib.c -L. -lhelloworld
#正確編譯選項
app:
gcc -Wall -o demoapp call_lib.c -L. -lhelloworld