-1
我在寫簡單的makefile項目。如何鏈接不同目錄中的對象(運行ld)
我想分兩個步驟建立程序:
- 編譯源文件
- 鏈接的對象和保存的目標文件在不同的目錄成可執行
考慮的東西簡單如:
all:
gcc -o ~/some_dir/main.o -c main.c
ld -o my_program main.o
問題是調用directo ry不是「〜/ some_dir」,所以ld沒有找到目標文件......我如何在ld搜索路徑中包含「some_dir」?
從更全局的角度來看,我有各種目錄中的對象文件,我想用單個鏈接器命令文件將它們鏈接在一起。
謝謝。
嗯,通過指定一個可用的路徑來鏈接對象?你會怎麼做?但任何方法,通常最好使用'gcc'作爲鏈接器驅動程序,而不是直接調用鏈接器:'gcc -o my_program〜/ some_dir/main.o'。 –
另外,不是使用綁定到當前用戶的主目錄('〜/ some_dir')的路徑,將構建的文件放在相對於構建的工作目錄的位置並找到與該目錄相關的源文件會更聰明包含Makefile。 –