C_and_CPP 板


LINE

開發平台(Platform): (Ex: Win10, Linux, ...) macOS Sierra 10.12.6 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) 在 windows 97 用 gcc 3.4 左右寫的吧 我則是用 gcc version 7.1.0 要編譯它 問題(Question): 原本用 gcc 指令編譯程式時有一個問題 會出現找不到 omp.h 這個文件的訊息, 但後來照著網路上的教學,裝了 gcc 7.1.0 這個問題就解決了。 但還又有新的訊息 Undefined symbols for architecture x86_64 "_calculateBend" , reference from: _ComputeForces in ccBysBIi.o ld: symbol(s) not found for architecture x86_64 collect2: 錯誤:ld 回傳 1 我上網查了很久,別人也有相同問題,但還是不知道該如何解決。 希望有人能給我指引,謝謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.123.158
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1505378442.A.258.html
1F:推 shadow0326: 舊程式大概是32bit的吧 編譯參數加上-m32看看吧 09/14 17:11
2F:→ shadow0326: 不保證你的編譯環境支援就是了 09/14 17:11
3F:→ yin0416: 請問是打 gcc -m32 program.c 嗎? 09/14 17:19
4F:→ yin0416: 還是失敗了,謝謝 09/14 17:22
5F:推 he103958: 有把檔案加進專案裡面嗎 09/14 18:00
6F:→ yin0416: 應該是沒有,我只是把所有相關程式放在同一個資料夾內, 09/14 18:34
7F:→ yin0416: 然後用終端機下指令。 09/14 18:34
8F:→ yin0416: 請問如何放進專案內?有教學網站嗎?謝謝 09/14 18:35
9F:→ enonrick: 有用到非原生lib,能把makefile 貼上來嗎 09/15 09:57
10F:→ yin0416: sorry, 我不懂 makefile,正在上網查中 09/15 14:38
11F:→ Lipraxde: 你不會是編譯的時候一個一個慢慢下指令吧@@ 09/15 14:44
12F:→ yin0416: 所以不是只要編譯一個程式就好喔~ 09/15 15:08
13F:→ Lipraxde: 編譯參數改變的話,基本上所有檔案最好都重新編譯,你是 09/15 17:27
14F:→ Lipraxde: 不是把之前的.o檔跟新編譯的混在一起link? 09/15 17:27
15F:→ yin0416: 所以要刪掉 .o 的檔案嗎? 09/15 22:18
16F:→ yin0416: 所以邏輯是刪掉 .o 的檔案,把資料夾內的 .c 檔案都編譯 09/16 04:06
17F:→ yin0416: 一遍嗎? 09/16 04:06
18F:→ Lipraxde: 不用刪吧,重編的時候就會蓋過去了,不過我不確定一定可 09/16 12:33
19F:→ Lipraxde: 以解決你的問題喔,昨天搞很久都搞不出你這個情況 09/16 12:33
20F:→ yin0416: 我現在試著一個一個編譯,有些成功,有些失敗。好像跟編 09/16 14:33
21F:→ yin0416: 譯的順序也有關。 09/16 14:33
22F:→ Lipraxde: 你要不要考慮多提供些資訊,譬如說你專案長什麼樣、新的 09/16 14:58
23F:→ Lipraxde: 錯誤訊息之類的? 09/16 14:58
我願意提供所有的訊息,但我不知道什麼訊息才是重要的。 這個程式是拿來模擬揉紙。 整理一下我的邏輯。 資料夾內的程式可能有相關性, 所雖然都是 .c 的副檔名,但我必需把它編譯成 .o 的執行檔。 惟一的例外是 crumpling.c 的程式,編譯後的執行檔為 crumpling.out 。 這個程式在 windows 中能編譯,其 .exe 檔也能執行。 但在我的 Mac 筆電中卻不行,一開始編譯出現找不到 'omp.h' 的訊息, 後來裝了新版的 gcc 7.1.0 後就沒有這個訊息了,取而代之的是 Undefined symbols for architecture x86_64 "_calculateBend", referenced from: _ComputeForce in ccybGJGF.o ld: symbol(s) not found for architecture x86_64 collect2: 錯誤: ld 回傳 1 但是我找不到 ccybGJGF.o 這個檔案。 之後我刪除了所有的 .o 檔案,開始重新一個一個指令的編譯資料夾內的所有檔案, 但是很多檔案不能編譯,甚至出現警告訊息,例如 警告: 隱念宣告函式 「fabs」 [Wimplicit-function-declaration] 之類的訊息。 然後我發現有些我原本不能編譯的程式,不知道是不是因為編了某些程式, 後來就可以編譯了。 以上,不知道我應該要再提供什麼訊息比較好?謝謝。 ※ 編輯: yin0416 (122.116.53.63), 09/16/2017 22:18:20
24F:→ Lipraxde: .o是目的檔,你可能需要了解一下編譯、連結的流程,或是 09/17 00:36
25F:→ Lipraxde: 用xcode之類的IDE。然後如果你用gcc7.1編譯出了一堆問題 09/17 00:36
26F:→ Lipraxde: ,那不仿換成你之前用的版本相近的gcc看看 09/17 00:36
27F:→ yin0416: 謝謝你的建議,我對 C 實在是不熟悉,再嚐試看看。 09/17 01:03







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP