導航:首頁 > 文件目錄 > ar需要指定頭文件路徑嗎

ar需要指定頭文件路徑嗎

發布時間:2022-09-17 01:31:35

A. 懂C語言的幫幫忙,怎樣做頭文件

主c文件
#include <max.h>
#include "max.h"
main()
{int x,y;
int z;
scanf("%d,%d",&x,&y);
z=max(x,y);
printf("%d",z);
}

max函數的c文件
int max(int a,int b)
{int c;
c=a>b?a:b;
return c;
}

頭文件
int max(int a,int b);

這樣就可以了

B. 找不到頭文件,需要添加頭文件的路徑該怎麼辦

1.將壓縮包中的壓縮包解壓出來,再打開其中的文件。

2.改變系統的臨時緩存目錄,將臨時緩存目錄,右鍵我的電腦-- 高級 -- 環境變數。

3.改變Administrator 的用戶變數中雙擊TEMP ,TMP目錄路徑,把路徑改短一點,如圖:可以改相同的目錄,也可以是不同的目錄,但是不要用根目錄,用根目錄,會造成出現很多的臨時緩存文件,很亂。

4.系統環境變數不要輕易修改,切記這樣在解壓嵌套壓縮包的時候,路徑就不會變的特別長,錯誤提示就解決了。

C. 怎樣用ar命令將庫文件釋放到指定路徑下

用途說明
創建靜態庫。a文件。用C/C++開發程序時經常用到,但我很少單獨在命令行中使用ar命令,一般寫在makefile中,有時也會在shell腳 本中用到。關於linux下的庫文件、靜態庫、動態庫以及怎樣創建和使用等相關知識,參見本文後面的相關資料【3】《關於Linux靜態庫和動態庫的分析》。
常用參數
格式:ar rcs libxxx.a xx1.o xx2.o
參數r:在庫中插入模塊(替換)。當插入的模塊名已經在庫中存在,則替換同名的模塊。如果若干模塊中有一個模塊在庫中不存在,ar顯示一個錯誤消息,並不替換其他同名模塊。默認的情況下,新的成員增加在庫的結尾處,可以使用其他任選項來改變增加的位置。【1】
參數c:創建一個庫。不管庫是否存在,都將創建。
參數s:創建目標文件索引,這在創建較大的庫時能加快時間。(補充:如果不需要創建索引,可改成大寫S參數;如果。a文件缺少索引,可以使用ranlib命令添加)
格式:ar t libxxx.a
顯示庫文件中有哪些目標文件,只顯示名稱。
格式:ar tv libxxx.a
顯示庫文件中有哪些目標文件,顯示文件名、時間、大小等詳細信息。
格式:nm -s libxxx.a
顯示庫文件中的索引表。
格式:ranlib libxxx.a
為庫文件創建索引表。
使用示例
示例一 在shell腳本中使用
Bash代碼
OS=`uname -r`
ar rcs libhycu.a.$OS *.o
示例二 在makefile中使用
Makefile代碼
$(BIN1): $(BIN1_OBJS)
ar rcs $@ $^
示例三 創建並使用靜態庫
第一步:編輯源文件,test.h test.c main.c。其中main.c文件中包含main函數,作為程序入口;test.c中包含main函數中需要用到的函數。
vi test.h test.c main.c
第二步:將test.c編譯成目標文件。
gcc -c test.c
如果test.c無誤,就會得到test.o這個目標文件。
第三步:由。o文件創建靜態庫。
ar rcs libtest.a test.o
第四步:在程序中使用靜態庫。
gcc -o main main.c -L. -ltest
因為是靜態編譯,生成的執行文件可以獨立於。a文件運行。
第五步:執行。
./main
示例四 創建並使用動態庫
第一步:編輯源文件,test.h test.c main.c。其中main.c文件中包含main函數,作為程序入口;test.c中包含main函數中需要用到的函數。
vi test.h test.c main.c
第二步:將test.c編譯成目標文件。
gcc -c test.c
前面兩步與創建靜態庫一致。
第三步:由。o文件創建動態庫文件。
gcc -shared -fPIC -o libtest.so test.o
第四步:在程序中使用動態庫。
gcc -o main main.c -L. -ltest
當靜態庫和動態庫同名時,gcc命令將優先使用動態庫。
第五步:執行。
LD_LIBRARY_PATH=. ./main
示例五 查看靜態庫中的文件
[root@node56 lib]# ar -t libhycu.a
base64.c.o
binbuf.c.o
cache.c.o
chunk.c.o
codec_a.c.o

xort.c.o
[root@node56 lib]#
[root@node56 lib]# ar -tv libhycu.a
rw-r--r-- 0/0 7220 Jul 29 19:18 2011 base64.c.o
rw-r--r-- 0/0 2752 Jul 29 19:18 2011 binbuf.c.o
rw-r--r-- 0/0 19768 Jul 29 19:18 2011 cache.c.o

rw-r--r-- 0/0 4580 Jul 29 19:18 2011 xort.c.o
[root@node56 lib]#
[root@node56 lib]# nm -s libhycu.a | less
Archive index:
Base64Enc in base64.c.o
GetBase64Value in base64.c.o
Base64Dec in base64.c.o
encode64 in base64.c.o
decode64 in base64.c.o
check64 in base64.c.o
test64 in base64.c.o

chunk_alloc in chunk.c.o
[root@node56 lib]#

D. 編譯時找不到頭文件有哪些可能原因

頭文件有兩種,一種是系統自定義的庫<>,一般編譯環境里會有默認配置路徑
另一種是自定義的頭文件"",這種可能需要在c文件的相同目錄下,
不在相同目錄下,就需要指定include路徑。一般都是h文件放一個文件夾,增加配置include路徑。

E. 如何設置編譯器的文件和頭文件的查找路徑 為什麼要設置呢

你用的是什麼編譯平台,像VC工具可以在設置裡面改,在linux下可以在編譯命令時指定

F. 怎樣用ar命令將庫文件釋放到指定路徑下

用途說明
創建靜態庫。a文件。用C/C++開發程序時經常用到,但我很少單獨在命令行中使用ar命令,一般寫在makefile中,有時也會在shell腳 本中用到。關於Linux下的庫文件、靜態庫、動態庫以及怎樣創建和使用等相關知識,參見本文後面的相關資料【3】《關於Linux靜態庫和動態庫的分析》。
常用參數
格式:ar rcs libxxx.a xx1.o xx2.o
參數r:在庫中插入模塊(替換)。當插入的模塊名已經在庫中存在,則替換同名的模塊。如果若干模塊中有一個模塊在庫中不存在,ar顯示一個錯誤消息,並不替換其他同名模塊。默認的情況下,新的成員增加在庫的結尾處,可以使用其他任選項來改變增加的位置。【1】
參數c:創建一個庫。不管庫是否存在,都將創建。
參數s:創建目標文件索引,這在創建較大的庫時能加快時間。(補充:如果不需要創建索引,可改成大寫S參數;如果。a文件缺少索引,可以使用ranlib命令添加)
格式:ar t libxxx.a
顯示庫文件中有哪些目標文件,只顯示名稱。
格式:ar tv libxxx.a
顯示庫文件中有哪些目標文件,顯示文件名、時間、大小等詳細信息。
格式:nm -s libxxx.a
顯示庫文件中的索引表。
格式:ranlib libxxx.a
為庫文件創建索引表。
使用示例
示例一 在shell腳本中使用
Bash代碼
OS=`uname -r`
ar rcs libhycu.a.$OS *.o
示例二 在makefile中使用
Makefile代碼
$(BIN1): $(BIN1_OBJS)
ar rcs $@ $^
示例三 創建並使用靜態庫
第一步:編輯源文件,test.h test.c main.c。其中main.c文件中包含main函數,作為程序入口;test.c中包含main函數中需要用到的函數。
vi test.h test.c main.c
第二步:將test.c編譯成目標文件。
gcc -c test.c
如果test.c無誤,就會得到test.o這個目標文件。
第三步:由。o文件創建靜態庫。
ar rcs libtest.a test.o
第四步:在程序中使用靜態庫。
gcc -o main main.c -L. -ltest
因為是靜態編譯,生成的執行文件可以獨立於。a文件運行。
第五步:執行。
./main
示例四 創建並使用動態庫
第一步:編輯源文件,test.h test.c main.c。其中main.c文件中包含main函數,作為程序入口;test.c中包含main函數中需要用到的函數。
vi test.h test.c main.c
第二步:將test.c編譯成目標文件。
gcc -c test.c
前面兩步與創建靜態庫一致。
第三步:由。o文件創建動態庫文件。
gcc -shared -fPIC -o libtest.so test.o
第四步:在程序中使用動態庫。
gcc -o main main.c -L. -ltest
當靜態庫和動態庫同名時,gcc命令將優先使用動態庫。
第五步:執行。
LD_LIBRARY_PATH=. ./main
示例五 查看靜態庫中的文件
[root@node56 lib]# ar -t libhycu.a
base64.c.o
binbuf.c.o
cache.c.o
chunk.c.o
codec_a.c.o

xort.c.o
[root@node56 lib]#
[root@node56 lib]# ar -tv libhycu.a
rw-r--r-- 0/0 7220 Jul 29 19:18 2011 base64.c.o
rw-r--r-- 0/0 2752 Jul 29 19:18 2011 binbuf.c.o
rw-r--r-- 0/0 19768 Jul 29 19:18 2011 cache.c.o

rw-r--r-- 0/0 4580 Jul 29 19:18 2011 xort.c.o
[root@node56 lib]#
[root@node56 lib]# nm -s libhycu.a | less
Archive index:
Base64Enc in base64.c.o
GetBase64Value in base64.c.o
Base64Dec in base64.c.o
encode64 in base64.c.o
decode64 in base64.c.o
check64 in base64.c.o
test64 in base64.c.o

chunk_alloc in chunk.c.o
[root@node56 lib]#

G. 什麼情況#include頭文件,需要給頭文件加上路勁

其實包含的頭文件都是有路徑的,只是 #include <stdio.h> 是查找系統路徑,而 #include "aaa.h" 是查找當前路徑的,也就是你當前工程所在的目錄下,如果你當前目錄下有一個文件夾abc,裡面放著bbb.h頭文件,那麼你引用這個頭文件就要寫上 #include "abc\\bbb.h"

H. makefile中怎麼設置頭文件的路徑在線等

你源代碼包含頭文源件的方式也要和你的CFLAGS的路徑配合,舉例:
1 源文件:#include <pcl/point_types.h> makefile: -I/test/ROS/ros/fuerte/include/
2 源文件:#include <point_types.h> makefile: -I/test/ROS/ros/fuerte/include/pcl

估計你源文件是1的情況,makefile又是2的情況,所一出問題了。

閱讀全文

與ar需要指定頭文件路徑嗎相關的資料

熱點內容
word插表格文件 瀏覽:264
保存的位置及配置文件的種類 瀏覽:812
開一家店必須看哪些數據 瀏覽:236
qq白板畫畫教程 瀏覽:625
3d壓縮文件的大小 瀏覽:325
macbookpro拖動文件 瀏覽:563
access資料庫創建報表 瀏覽:384
蘋果怎麼掃描文件發微信 瀏覽:205
cad導文件什麼格式 瀏覽:365
小米5s網路設置會怎麼樣 瀏覽:325
word2007空白處帶字體背景顏色 瀏覽:803
迷你編程第三章如何通關 瀏覽:342
win10系統怎麼卸載ie瀏覽器 瀏覽:587
uga字頭的字體在哪個文件 瀏覽:508
cad每次運行會產生log文件 瀏覽:158
單詞社交網路怎麼樣 瀏覽:406
ps矢量文件轉ai 瀏覽:82
清華大學蘇州大數據中心 瀏覽:620
電腦上怎麼搜索文件文件名忘了 瀏覽:360
永安行app在哪裡簽到 瀏覽:601

友情鏈接