簡體   English   中英

Emacs自動完成C標頭。 符號的變量值無效

[英]Emacs auto-complete-c-headers. Symbol's value as variable is void

我在Windows 7上使用Emacs 24.3。我在ELPA上安裝了auto-complete-modeautocomplete-c-headers

我添加到.emacs

(require 'auto-complete)
(add-to-list 'load-path "~/.emacs.d/elpa/auto-complete-20140208.653")    ; This may not be appeared if you have already added.
(add-to-list 'ac-dictionary-directories "~/.emacs.d/elpa/auto-complete-20140208.653/dict")
(require 'auto-complete-config)
(ac-config-default)

;|---------------------------------------------------------------+
;|auto-complete c/c++ headers
;|---------------------------------------------------------------+
(add-to-list 'load-path   
         "~/.emacs.d/elpa/auto-complete-c-headers-20140325.835") 
(defun my:ac-c-headers-init ()
  (require 'auto-complete-c-headers)
  (add-to-list 'ac-sources 'ac-source-c-headers)
  (add-to-list 'aсhead:include-directories '"d:/DevTools/env/MinGW/lib/gcc/mingw32/4.8.1/include")
)
(add-hook 'c++-mode-hook 'my:ac-c-headers-init)
(add-hook 'c-mode-hook 'my:ac-c-headers-init)

當我在C ++模式下運行時,它顯示錯誤

Symbol's value as variable is void

首先,通過運行以下命令在計算機上找到C / C ++標頭。

gcc -xc++ -E -v -

在我的ArchLinux上,它們位於此處

/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/x86_64-unknown-linux-gnu /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/backward /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include /usr/local/include /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include-fixed /usr/include

那么對我有用的完整的C / C ++自動完成功能就是這樣。

;; C++ auto completion mode (require 'auto-complete) (require 'auto-complete-config) (ac-config-default) ;a function which initializes auto-complete-c-headers and get called for c/c++ hooks (defun my:acc-c-header-init () (require 'auto-complete-c-headers) (add-to-list 'ac-sources 'ac-source-c-headers) (add-to-list 'achead:include-directories '" /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/x86_64-unknown-linux-gnu /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/../../../../include/c++/4.9.1/backward /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include /usr/local/include /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.1/include-fixed /usr/include" ) )

試試看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM