Cedet 1.1 com Emacs 24.2 no Windows não pode analisar arquivos de cabeçalho c ++ sem extensão

1

Emacs 24.2, Cedet 1.1, Windows 7

Diretório do Visual Studio 10.0 Include

(adicionar à lista 'load-path "~ / .emacs.d / cedet-1.1 / common")
(arquivo de carregamento "~ / .emacs.d / cedet-1.1 / common / cedet.el")

(carga-semântica-habilitar-excessiva-helpers de código)
(semântica-load-enable-semântica-debugging-helpers)

(requer 'semântico-decorar-incluir)

(requer 'semântico-ia)

(global-ede-mode nil)

(setq-mode-local c-mode semânticadb-find-default-throttle
                 '(sistema local de projeto descarregado recursivo))
(setq-mode-local c ++ - modo semanticdb-find-default-throttle
                 '(sistema local de projeto descarregado recursivo))

(semântica-add-system-include "C: / Arquivos de Programas / Microsoft Visual Studio 10.0 / VS / Incluir" 'c ++ - mode)

Ao escrever o programa c ++ e incluir, por exemplo, iostreamele navega para este arquivo de inclusão, mas não é capaz de analisá-lo. Por outro lado, quando incluir, digamos, stdlib.hanalisa com sucesso essa inclusão.

Como consertar isto?

Ribtoks
fonte

Respostas:

1

Encontrei alguma solução alternativa. Precisa dizer ao C lexer para analisar o Microsoft incluir arquivos com definições como esta

(defun windows-semantic-hook ()
    (setq microsoft-base-dir 
        "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include")
    (add-to-list 'semantic-lex-c-preprocessor-symbol-file 
               (concat microsoft-base-dir "/crtdefs.h"))
    (add-to-list 'semantic-lex-c-preprocessor-symbol-file 
               (concat microsoft-base-dir "/yvals.h"))
    (add-to-list 'semantic-lex-c-preprocessor-symbol-file 
               (concat microsoft-base-dir "/vadefs.h"))
    (add-to-list 'semantic-lex-c-preprocessor-symbol-file 
               (concat microsoft-base-dir "/comdefsp.h"))
    (semantic-add-system-include microsoft-base-dir 'c++-mode)
    (add-to-list 'auto-mode-alist (cons microsoft-base-dir 'c++-mode)))

(add-hook 'semantic-init-hooks 'windows-semantic-hook)

Agora o analisador semântico se sente melhor (mas não completamente bom) e é capaz de analisar alguns includes like <string>, <map>etc.

Ribtoks
fonte