編譯時說沒定義
『壹』 c++緙栬瘧鍣ㄦ姤閿欙細鏈瀹氫箟鏍囪瘑絎︺傦紵
鏈瀹氫箟鏍囪瘑絎﹁В鍐蟲柟娉曞備笅錛
鐐瑰嚮鑿滃崟鏍忎腑鐨勯」鐩錛岀劧鍚庣偣鍑誨睘鎬с備篃鍙浠ュ湪鍦ㄥ彸渚ц祫婧愮獥鍙d腑鍙抽敭璇ラ」鐩錛岀偣鍑誨睘鎬с
鐒跺悗鐐瑰嚮C/C++錛岄夋嫨浼樺寲銆
鐒跺悗閫夋嫨浼樺寲涓鐨勫凡紱佺敤(/Od)錛岀『瀹氥
鐜板湪鍐嶅洖鍘昏皟璇曪紝涔嬪墠鏄劇ず鏈瀹氫箟鏍囪瘑絎︾殑闂棰樺簲璇ュ氨瑙e喅浜嗐
娉ㄦ剰浜嬮」錛氳祫婧愮獥鍙e彸閿鎵撳紑灞炴ч厤緗鍙閽堝硅ラ」鐩鏈夋晥錛屽叾瀹冮」鐩闇瑕佸啀嬈¤劇疆銆
浠涔堟槸鏈瀹氫箟鍙橀噺錛
鏈瀹氫箟鍙橀噺錛岄【鍚嶆濅箟錛屾湭琚瀹氫箟鐨勫彉閲忥紙Undefined variable錛夈傚湪浣跨敤璁$畻鏈虹▼搴忚璦緙栫▼鏃訛紝鐢變簬璁塊棶浜嗘湭琚瀹氫箟鎴栨湭琚鍒濆嬪寲鐨勫彉閲忥紝瀵艱嚧緙栬瘧鍣ㄦ姤閿欙紝閿欒鎻愮ず甯稿父鏄...鏈琚瀹氫箟鈥濇垨...is not defined"鎴栤渦ndeclared 鈥溿
鍦ㄨ$畻鏈虹紪紼嬩腑錛屽彉閲忔垨鏍囬噺鏄涓庣浉鍏寵仈鐨勭﹀彿鍚嶇О錛堟爣璇嗙︼級閰嶅圭殑瀛樺偍浣嶇疆錛屽叾鍖呭惈縐頒負鍊肩殑涓浜涘凡鐭ユ垨鏈鐭ユ暟閲忕殑淇℃伅銆傚彉閲忓悕縐版槸寮曠敤瀛樺偍鍊肩殑閫氬父鏂規硶;榪欑嶅悕縐板拰鍐呭圭殑鍒嗙誨厑璁哥嫭絝嬩簬鍏舵墍浠h〃鐨勭『鍒囦俊鎮浣跨敤璇ュ悕縐般
璁$畻鏈烘簮浠g爜涓鐨勬爣璇嗙﹀彲浠ュ湪榪愯屾椂緇戝畾鍒頒竴涓鍊礆紝騫朵笖鍙橀噺鐨勫煎洜姝ゅ彲鑳藉湪紼嬪簭鎵ц岃繃紼嬩腑鍙戠敓鍙樺寲銆
『貳』 c編程中main函數中使用了庫文件中定義的函數,編譯時卻提示該函數未定義,這是什麼問題,坐等高手解答
原因:
頭文件 pthread.h 沒有包含到源文件中
解決方法:
1)將 pthread.h 復制到源文件相同的文件夾中
2)修改為:#include "pthread.h"
『叄』 Linux下編寫c語言頭文件,編譯時出現「函數未定義」
出現該錯誤的原因為編譯時只變編譯了源文件的一部分,故在鏈接時無法從編譯好的目標代碼中找到print函數,所以出錯。
根據你的源文件結構,個人推薦先單獨編譯源文件為多個object文件,再統一鏈接。
方法如下
gcc-cmain.c#-c參數的作用是讓gcc只編譯,不鏈接
gcc-ctest.c
gcc-omainmain.otest.o#將編譯好的目標代碼鏈接
當然,以上是在gcc為編譯器的前提下執行,如使用clang等其他編譯器,方法類似(clang的調用方法與gcc高度兼容)
『肆』 添加了頭文件,怎麼編譯時說未定義
是鏈接的時候,找不到read_file的入口地址.
如果是庫,就在編譯的時候用 -l 把這個庫加進去
如果是.c文件,就在編譯的時候把.c加進去
『伍』 急:EXCEL文件第一次打開時提示「編譯錯誤:子過程或函數未定義」,如何讓其不再顯示
EXCEL文件第一次打開時提示「編譯錯誤:子過程或函數未定義」是設置錯誤造成的,解決方法為:
1、打開Excel2013的選項。