1樓:金色潛鳥
是不是環境變數
c_include_path
cplus_include_path
沒設好。
-----------
例如:c 程式要求
$ c_include_path=/opt/gdbm-1.8.3/include
$ export c_include_pathc++ 程式要求
$ cplus_include_path=/opt/gdbm-1.8.3/include
$ export cplus_include_path-----
編譯時,命令列可以用 -i 新增路徑 /usr/local/include 或 /usr/include -- 看你的include安裝在**。
2樓:匿名使用者
報錯的是ld階段,表示連結失敗,找不到squr函式,根本原因是找不到libm.so。跟math.h標頭檔案沒有任何關係,標頭檔案有問題的話在預處理階段編譯之前就會報錯了。
你的-lm估計加的地方不對,要確保在連結階段新增,不是編譯的時候。
3樓:栩箭
makefile 貼來瞅瞅
g++編譯引數 -lm 是什麼意思
4樓:匿名使用者
g++編譯程式成為.o目標函式,然後需要和庫函式連線到一起-l是傳遞給link程式叫它連線某些庫函式-lm是連線數學庫
如果沒-lm那些三角函式啊,超越函式啊,都沒法連線成功的
如何在linux下,用gcc連線math.h庫函式?
5樓:板唱
gcc -o a.exe a.c /usr/lib/libm.a
6樓:匿名使用者
你輸出的檔案加exe字尾幹嗎?
加上#include "stdio.h"
編譯時用gcc -o a a.c -lm
7樓:
問題是:
scanf和printf需要#include "stdio.h"
問類似問題請給出報錯資訊
請問我有一個.so檔案,如何在linux下程式設計使用呢?
8樓:鯤之大一鍋燉不下化而為鳥其名為鵬
安裝個開發工具 然後編譯就行了 redhat在安裝的時候選擇自定義就可以安裝開發工具 make 然後make install
9樓:擁雲莊主
linux下的.so檔案為共享庫,相當於windows下的dll檔案,使用方法如下:
在你的工程源**裡包含.h標頭檔案,然後可以呼叫動態庫裡的函式,在連結的時候加上如下編譯器引數:
-l xx.so
如果你的so檔案是以lib開頭的,還可以直接這樣使用:
-lxx
xx是你的.so檔名
其實使用方法和你使用數學庫函式是一樣的,源**中新增#include ,編譯的時候,加上-lm引數。
10樓:213456俺說的
動態連結庫,呼叫,寫c語言時用的。放在編譯的資料夾裡面。包含進去.h就行了、、、、、、、、
11樓:匿名使用者
*.so 就是linux 下的動態連結庫,具體:
12樓:匿名使用者
你去查查動態連結庫怎麼使用吧,我只懂c語言,這個不太瞭解。
plc程式編譯是幹什麼的,PLC程式編譯是幹什麼的
泰和數控 編譯1 利用編譯程式從源語言編寫的源程式產生目標程式的過程。2 用編譯程式產生目標程式的動作。編譯就是把高階語言變成計算機可以識別的2進位制語言,計算機只認識1和0,編譯程式把人們熟悉的語言換成2進位制的。編譯程式把一個源程式翻譯成目標程式的工作過程分為五個階段 詞法分析 語法分析 語義檢...
gcc和vc有什麼區別呢vc編譯時用的編譯器相
嘎嘎嘎哈哈哈嘿嘿嘿 vc 是ide,也就是整合開發環境,其中,包含,文字編輯器,編譯器等開發工具鏈。而gcc是c 編譯器,linux下專用的c,c 編譯器,它不是ide。gcc可以和vc 中包含的編譯器等同。換句話說,linux下的c 開發,需要一系列工具,如,netbeans,atom等編輯器,再...
如何檢視程式被哪個版本編譯器編譯的
gcc v 很簡答的一個知識。所有的linux程式都可以使用這個命令檢視版本資訊。以後要是遇到了linux方面的問題,shell程式設計,linux系統管理問題,都可以幫到大家。希望採納 linux如何檢視是否已安裝gcc 執行gcc v命令,如果linux系統沒有安裝gcc編譯器,會提示 comm...