emacs sürümüm 24.3.1.
Ben emacs okuyabilir bir yol ob-C.el ( buradan temin edilebilir ) koymak zorunda anlamak .
İlk olarak o .el dosyasından kodu .emacs dosyama kopyalayıp yapıştırdım ve emac'ları yeniden başlattım. sonra bir C kodu bloğuna (bir org dosyası içinde) gitti ve (Cc Cc kullanarak) yürütmeye çalıştı. minibuffer 'C için org-babel yürütme fonksiyonu yok' dedi. aynı hikaye bir C ++ kod bloğu yürütmeye çalışırken oynandı. R ve python'un kuruluş dosyalarımdan mükemmel bir şekilde değerlendirildiğini unutmayın. sorunlar sadece bu derlenmiş dillerle ilgili görünmektedir.
sonra bu ob-C.el ~ / .emacs.d dizininin içine koyarak bu konuda yardımcı olup olmadığını görmek için çalıştı. emacs yeniden başlatıldı ve kontrol edildi. işe yaramadı.
sonra bir dizine ~ / .emacs.d / lisp koyarak denedim ve .emacs dosyama aşağıdaki satırları ekledi
(add-to-list 'load-path "~/.emacs.d/lisp/")
(load "ob-C.el")
(require 'ob-C)
emacs yeniden başlatıldıktan sonra, bir org dosyasından C veya C ++ kod bloklarını değerlendirmek yine de çalışmaz. "C için hiçbir org-babel yürütme işlevi" veya "C için hiçbir org-babel yürütme işlevi" aynı hatayı almaya devam.
Güncelleme
i emacs sürümünü 24.5'e yükselttim, ~ / .emacs.d dizinindeki önceki tüm elpa ve melpa alt dizinlerini sildim. benim yerleştirdiğim sıra ile ilgili olduğundan şüpheleniyorum
(custom-set-variables
'(org-babel-load-languages
(quote
((emacs-lisp . t)
(C . t)
(css . t)
(sh . t)
(awk . t)
(R . t))))
ve
;; load the pathnames to custom lisp files
(add-to-list 'load-path "~/.emacs.d/lisp/")
(load "ob-C.el")
(require 'ob-C)
kod blokları, ben yük "ob-C.el" org-babel-load-diller şey önce koydu. i sonra birden çok kez c ++ kod bloğu yürütüldü. şanssız.
sonra her şeyi kaldırdım (.emacs dosyasındaki özel set değişkenleri bloğunu temizledim) ve şimdi .emacs dosyam benziyor
;; load the pathnames to custom lisp files
(add-to-list 'load-path "~/.emacs.d/lisp/")
(load "ob-C.el")
(require 'ob-C)
;; load the languages that are needed
(org-babel-do-load-languages
'org-babel-load-languages '((C . t)))
Hala çalışmıyor.
Bir orgmode arabelleğinde değerlendirmeye çalıştığım kod:
#+BEGIN_SRC c
printf("Hello world");
#+END_SRC
Benim Mesajlar emacs'ı yeniden başlatmayı ve yukarıdaki kod bloğu çalıştırmak çalışıldıktan sonra böyle görünüyor tampon:
Loading /home/taeten/.emacs.d/lisp/ob-C.el (source)...done
Wrote /home/taeten/.emacs.d/.emacs.desktop.lock
Desktop: 1 frame, 0 buffers restored.
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit [2 times]
Making completion list... [3 times]
org-babel-execute-src-block: No org-babel-execute function for c! [5
times]
Ignoring unknown mode `elisp-mode'
File local-variables error: (void-function elisp-mode)
byte-code: Beginning of buffer [6 times]
byte-code: Beginning of buffer
load
Verequire
bitlerine gerçekten ihtiyacınız yok .require
yükleme yapar (durumda dosyası vardırprovide
bu durumda öyle deyimi,), ama aynı zamanda gerek yokrequire
bu tarafından ele çünküorg-babel-do-load-languages
, size gereken emin yapma ihtiyacını yapmakorg
olur herhangi önce. Ayrıca, Bence buC
değilc
bunu denedin mi?