共享對象創建:使用make懸掛符號鏈接

我正在嘗試使用gccmake創建一個共享庫。我在Makefile中有以下部分來編譯共享庫對象:

# The library build step.
lib : $(DHLLOBJS)
    $(CC) $(XCFLAGS) $(SCFLAGS)$(SLIB).1 $(INCFLAGS) -o $(LIB_DIR)/$(SLIB).1.0 \
    $(DLOPATHS) $(LNKFLAGS)
    ln -sf $(LIB_DIR)/$(SLIB).1.0 $(LIB_DIR)/$(SLIB).1
    ln -sf $(LIB_DIR)/$(SLIB).1.0 $(LIB_DIR)/$(SLIB)

上面沒有拋出任何編譯錯誤或文件系統錯誤,但符號鏈接被描述為dangling,如chmod命令所示:

$ sudo chmod 0755 ../lib/*
chmod: cannot operate on dangling symlink '../lib/libdhlim.so'
chmod: cannot operate on dangling symlink '../lib/libdhlim.so.1'

下面的ls命令輸出以紅色顯示第5行和第6行:

$ ls -la lib/
total 29
drwxrwxrwx 1 root root   376 Jul  5 21:13 .
drwxrwxrwx 1 root root  4096 Jul  5 21:13 ..
lrwxrwxrwx 1 root root    21 Jul  5 21:13 libdhlim.so -> ./lib/libdhlim.so.1.0
lrwxrwxrwx 1 root root    21 Jul  5 21:13 libdhlim.so.1 -> ./lib/libdhlim.so.1.0
-rwxrwxrwx 1 root root 23792 Jul  5 21:13 libdhlim.so.1.0

當我手動運行同一組命令時,它們工作正常。我有什么地方做錯了嗎?

? 最佳回答:

問題是您使用相對路徑,但不使用ln選項-r創建鏈接。

嘗試以下兩行:

        ln -sfr $(LIB_DIR)/$(SLIB).1.0 $(LIB_DIR)/$(SLIB).1
        ln -sfr $(LIB_DIR)/$(SLIB).1.0 $(LIB_DIR)/$(SLIB)
  • -r, --relative
    with -s, create links relative to link location
主站蜘蛛池模板: 人妻av无码一区二区三区| 国产怡春院无码一区二区| 国产精品女同一区二区| 亚洲熟妇AV一区二区三区宅男| 一区二区三区AV高清免费波多| 午夜福利av无码一区二区| 中文字幕一区二区在线播放| 国产乱码精品一区二区三区麻豆 | 无码中文人妻在线一区| 亚洲一区二区三区偷拍女厕 | 精品综合一区二区三区| 伊人色综合视频一区二区三区| 精品乱人伦一区二区三区| 熟女大屁股白浆一区二区| 国产一区内射最近更新| 尤物精品视频一区二区三区 | 精品91一区二区三区| 2022年亚洲午夜一区二区福利 | 亚洲高清毛片一区二区| 久久久精品人妻一区二区三区四| 中文字幕一区二区免费| 亚洲国产精品一区二区第一页免 | 久久精品无码一区二区三区不卡 | 国偷自产av一区二区三区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国模精品一区二区三区视频 | 国产福利视频一区二区| 精品aⅴ一区二区三区| 国产免费一区二区三区不卡 | 亚洲一区二区三区久久| 精品无人区一区二区三区在线| 一区二区三区在线|欧| 无码精品一区二区三区在线| 欧洲无码一区二区三区在线观看| 免费无码一区二区三区| 亚洲色一区二区三区四区| 国产在线一区二区三区在线| 一区二区三区视频在线播放| 夜夜添无码一区二区三区| 无码国产精品一区二区免费3p | 国产精品成人国产乱一区|