我正在嘗試讓自定義編譯器在 CLion 中作業并忍受一段時間。誰能幫我找出我做錯了什么?我在 Github 上有完整的代碼。
我有的
- 命令列工具都位于同一個名為
mpw. 所以 C 編譯器落后mpw SC,聯結器落后mpw link。還有一個名為Rez將一些元資料添加到可執行檔案的工具,但如果 CLion 忽略它,我很好。 - 我正在使用make 檔案進行實際構建。
- 我創建了一個自定義編譯器定義 YAML,并在 CLion 的專案設定中選擇了它。我嘗試遵循 Jetbrains 檔案[1] [2]但找不到要使用的代碼洞察目標名稱(它最終編譯為 68000 CPU、舊 MacOS,有人知道我在哪里可以找到允許的
clangd目標名稱串列嗎? )。 - 當我呼叫
make clean或make all從命令列呼叫時,Makefile 有效。
問題
當我在 CLion 中打開檔案夾時,它會嘗試決議 Makefile 并報告:
(x) Analysing makefile
(x) No compilation commands found
目標
- 獲取 CLion 以查看我的所有代碼(包括 中的系統標頭
~/mpw/Interfaces/CIncludes),以便我可以使用其代碼導航來自動完成代碼。重構也會很好。 - 讓 CLion 了解我的 Makefile,以便我可以使用 CLion 中的“錘子”圖示進行構建。
自定義編譯器定義
compilers:
- description: "MPW SC"
match-sources: ".*\\.c"
match-language: "C"
match-compiler-exe: "(.*/)?mpw SC"
code-insight-target-name: mpw
include-dirs:
- ${user-home}/mpw/Interfaces/CIncludes
defines-text: "
#define __MRC__ 0x0700
#define OLDROUTINENAMES 1
"
生成檔案
SOURCES=SillyBalls.c
RFILES=SillyBalls.r Size.r
EXECUTABLE=SillyBalls
MPW=~/Programming/mpw/build/bin/mpw
RINCLUDES=~/mpw/Interfaces/RIncludes
LDFLAGS =-w -c 'SILB' -t APPL \
-sn STDIO=Main -sn INTENV=Main -sn
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/511308.html
