[問題] Makefile 動態庫編譯執行檔 crash

看板LinuxDev作者 (gigigigi)時間8年前 (2016/05/19 00:14), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串1/1
https://gist.github.com/shihyu/a55bf6e828cd2e89f38361a7973d1cc3 我這程式碼應該沒問題 , 應該是 Makefile 做連接地方有問題造成 Segmentation fault 但是我看不出來到底是哪邊有問題xd 是我 -share 跟 -fPIC 誤用嗎? 還有一個疑惑就是 add.c sub.c 在編譯 add.o 跟 sub.o 跟下面參數無關嗎? 編譯add.o 跟sub.o是吃 CFLAGS嗎? 是針對 ${SOFLAGS} 產生 add.so 跟 sub.so 吃的參數嗎? add.so: ${ADD_OBJS} $(CC) ${SOFLAGS} -o $@ $? sub.so: ${SUB_OBJS} $(CC) ${SOFLAGS} -o $@ $? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.180.117.99 ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1463588063.A.B8C.html

05/19 09:28, , 1F
編main的時候有用到-share,-fPIC的CFLAG.感覺用不上阿
05/19 09:28, 1F

05/19 09:40, , 2F
你直接編會crash嗎?
05/19 09:40, 2F

05/19 19:50, , 3F
直接編譯正常, 不加上 -share , -fPIC 編譯不過所以才加
05/19 19:50, 3F

05/19 19:50, , 4F
編譯器編譯不過提示要加上 -fPIC
05/19 19:50, 4F

05/23 15:02, , 5F
你的 Makefile 有不少錯啊... 不過會 SegFault 的主要原因是
05/23 15:02, 5F

05/23 15:04, , 6F
你的 main 不是 executable, 而是 shared object, 故不能執行
05/23 15:04, 6F

06/27 00:57, , 7F
用 CMake or autotools 解決一切困擾...
06/27 00:57, 7F
文章代碼(AID): #1NF9JVkC (LinuxDev)