2014-06-15 2 views
1

Windows 7에서 Emacs 24.3을 사용하고 있습니다. ELPA를 사용하여 auto-complete-modeautocomplete-c-headers을 설치했습니다. .emacs으로Emacs auto-complete-c-headers입니다. 변수의 심볼 값은 void입니다.

나는 추가 :

(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 
+0

.cpp 파일로 전환하고 M- :을 사용하여 (debug (C++ - mode t)) 평가하면 디버거가 열리고 잘하면 어떤 변수가 문제를 일으키는 지 알 수 있습니다. –

답변

2

먼저 실행하여 컴퓨터에서 다음을 C/C++ 헤더의 위치를 ​​보여줍니다 명령. 내 아치 리눅스에

gcc -xc++ -E -v -

는 그들은 그런 나를 위해 작동 전체 C/C++ 자동 완성 기능이 여기

/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++ 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" ) )

은보십시오.

+0

예,이 방법을 사용했습니다. 귀하의 의견은 조금 늦었습니다. – user3003873

+0

당신은 환영합니다. – abdimuna

관련 문제