babel 添加 cpp 语言支持失败

Problem

报错

Debugger entered--Lisp error: (file-missing "Cannot open load file" "No such file or directory" "ob-cpp")
  #<subr require>(ob-cpp nil nil)
  apply(#<subr require> (ob-cpp nil nil))
  require(ob-cpp nil nil)
  org-babel-do-load-languages(org-babel-load-languages ((emacs-lisp . t) (python . t) (C . t) (cpp . t)))
  load-with-code-conversion("/home/kazure/.emacs.d/lisp/init-test.el" "/home/kazure/.emacs.d/lisp/init-test.el" nil t)
  #<subr require>(init-test)
  apply(#<subr require> init-test)
  require(init-test)
  load-with-code-conversion("/home/kazure/.emacs.d/init.el" "/home/kazure/.emacs.d/init.el" t t)
  #<subr load>("/home/kazure/.emacs.d/init" noerror nomessage nil nil)
  apply(#<subr load> ("/home/kazure/.emacs.d/init" noerror nomessage))
  load("/home/kazure/.emacs.d/init" noerror nomessage)
  #f(compiled-function () #<bytecode 0xf0b1ed4446a1391>)()
  #f(compiled-function () #<bytecode -0x4307d7bb01d2857>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x4307d7bb01d2857>) (error) startup--debug)
  startup--load-user-init-file(#f(compiled-function () #<bytecode -0x3d8b13c5e9b3632>) #f(compiled-function () #<bytecode 0x731968ef8c7b19b>) t)
  command-line()
  normal-top-level()

个人配置

  (org-babel-do-load-languages
    'org-babel-load-languages
    '((emacs-lisp . t)
      (python . t)
      (C . t)
      (cpp . t)))
org-babel-execute:C++ is a native-comp-function in ‘ob-c.el’.

(org-babel-execute:C++ BODY PARAMS)

Execute C++ BODY with org-babel according to its header arguments PARAMS.
This function is called by ‘org-babel-execute-src-block’.

看样子, cpp 的支持已经包含在 ob-C 中,只要

(org-babel-do-load-languages
    'org-babel-load-languages
    '(...
      (C . t)))

就够了。

#+begin_src C++ :includes <iostream>
  std::cout<<"Hello World!\n";
#+end_src
1 个赞