设置org-capture-templates时,该怎样使用变量来表示 file?

我在不同系统里共享GTD文件,因为文件的存放路径不一样,因此不同系统里配置agenda时需做相应修改。
为方便修改配置,我定义了一个变量 myGTDdir

(defvar myGTDdir "\path of my GTD files")

在配置 agenda 相关文件路径时都以该变量作为前缀,这样一来在我更换系统时只需修改该前缀就可以了。

以下几个语句都能正常工作:

(setq org-agenda-diary-file (concat myGTDdir "/GTD/diary"))
(setq diary-file (concat myGTDdir "/GTD/diary"))
(setq org-agenda-files (list (concat myGTDdir "/GTD")))

但是,我如法炮制设置org-capture-templates后, org-capture却不能正常工作:

(setq org-capture-templates
      '(("t" "Task" entry 
          (file+headline (concat myGTDdir "/GTD/inbox.org")  "Task"))))

错误信息: org-capture-expand-file: Invalid file location: nil

请问我该如何配置org-capture-templates
另外,是否有更好的方法解决不同系统共享GTD文件时路径不一致的痛点?

这样写:

(setq org-capture-templates `((“t” “Task” entry (file+headline ,(concat myGTDdir “/GTD/inbox.org”) “Task”))))

不好意思,多请教一下,就是在(concat myGTDdir "/GTD/inbox.org")前面多写一个逗号吗?
我试了一下还是不行啊?

前面还有一个backquote的

(setq org-capture-templates
      `(("t" "Task" entry 
          (file+headline ,(concat myGTDdir "/GTD/inbox.org")  "Task"))))

多谢!@ MagicMath@ hek14

诸如' quote list backquote 等的用法我没有搞清楚,不知道是否什么资料讲的比较好

去搜搜看elisp manual, xah的lisp tutorial也不错(解决方案应该是我的吧?)