Pergunta

Eu estou apenas começando com o desenvolvimento c ++ e eu gostaria de usar Emacs para escrever o código e, em seguida, compilar e executá-lo a partir de dentro emacs usando o compilador Visual Studio 6. Eu já pesquisei em torno de um bit, mas simplesmente não consigo encontrar uma explicação de como isso é feito. Os ponteiros?

Obrigado por sua ajuda,

joerg

Foi útil?

Solução

Eu tenho feito isso como uma questão de curso ao longo dos últimos anos. Há duas maneiras de fazer isso:

  1. Nas versões mais antigas do VS (incluindo VS 6,0), há um botão para exportar o arquivo nmake para o projeto. Eu faço isso de vez em quando e, em seguida, usar nmake para compilar. Tenho

    (setq compilação comando "nmake debug")

    Na minha .xemace / init.el para isso. Você tem que adicionar o nome do arquivo nmake, e Nmake.exe tem que estar no seu caminho. (BTW, eu modifiquei a compilação-erro-regexp-alist-alist a ajuda para mover através dos erros. Deixe-me saber se você quer isso também.)

  2. Novas versões do VS não tem o botão para exportar o arquivo nmake. Para estes eu chamo devenv.com. Neste caso eu tenho

    (setq compilação comando "devenv.com / compilação de depuração")

    Na minha .xemacs / init.el. Você tem que adicionar o nome do arquivo .sln. Apesar de eu não fazer isso com VS 6,0, acredito que ele pode funcionar tão bem.

Outras dicas

Eu não tenho certeza se você considerar apenas trocando o interior editor de texto do Visual Studio com o Emacs, mas aqui é um projeto sf.net que faz exatamente isso.

http://sourceforge.net/projects/visemacs/

Como uma continuação a resposta de Andrew Stein, para fazer uma compilação de linha de comando em 6 de Visual Studio sem usar nmake, use a sintaxe:

msdev wspname.dsw /make "project - Win32 Debug"

Visual Studio é um IDE

Ele usa o cl.exe compilador por baixo.

Nós usamos emacs com GNU make (gmake), que é envolvido com o nosso próprio gmake envoltório executável e ele funciona muito bem.

Basta configurar simples uma combinação de teclas para invocar cl.exe em arquivos .c / .cpp que você está compilando para construir seus obj arquivos. Temos um atalho de teclado para inicializar uma compilação em uma pasta, que fará com que todos os arquivos .obj que não estão atualizados, mas isso é puramente tratado por GNU make.

Temos também outros atalhos de teclado, por exemplo, para ligar o executável e iniciá-lo etc.

Um pouco off topic, mas porque você está usando o Visual Studio 6? Os compiladores (bem como despojado IDEs) para a versão atual do Visual Studio estão disponíveis gratuitamente pela Microsoft.

Em ambos os casos, você pode invocar o compilador de linha de comando para que ele deve ser tão simples como a criação de um makefile.

Se você quer apenas criar um único arquivo para compilar em seguida, colocar isso no topo de seu arquivo ...

// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-

Ver o meu blog neste

Claro que você precisa para ajustar a usar CL.EXE e escolher os argumentos apropriados.

Para o lançamento make é um pouco mais complicado, pois você tem que correr make como se estivesse no diretório de origem dos pais, quando você está editando um arquivo mais abaixo na hierarquia.

A única maneira que eu conheço para fazer isso é colocar isso no topo de cada arquivo ...

// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*- 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top