ti-enxame.com

Converter um makefile em um projeto do VS

Eu tenho alguns makefiles para construir certas bibliotecas para mim. Agora preciso convertê-los em um projeto do VS por conveniência. Pesquisei apenas no Google as maneiras de converter um projeto do VS em um makefile com a ajuda do assistente de makefile fornecido pelo VS. Além disso, descobri que havia esse recurso incluído no VS6 para converter o makefile em projeto do VS. Mas esse recurso foi removido para as versões posteriores. Além disso, percebi que os downloads do VS6 não estão mais disponíveis no site msdn.

Existe alguma outra maneira de converter um makefile em um projeto do visual studio? ou Posso obter o VS6 de algum lugar?

19
Darzen

A única opção real que você tem aqui é fazer a conversão manualmente (ou usar o Assistente de Projeto Makefile). Você diz que tem 'alguns' makefiles, não sabe quanto é isso, mas, a menos que você esteja falando de> 10 ou mais, não é muito trabalho criar manualmente um projeto do Visual Studio para eles. Afinal, tudo o que você faz é criar um novo projeto de DLL e adicionar arquivos de origem a ele. Os sinalizadores padrão do compilador/vinculador dificilmente precisam de ajustes. Ah, sim, se você os ajustar, certifique-se de fazer essas alterações em uma folha de propriedades em vez de no próprio projeto: a folha de propriedades pode ser reutilizada por outros projetos, é uma questão simples de DRY = princípio.

Por que essa é a única opção real? Em primeiro lugar, não existe uma ferramenta que possa converter de forma confiável qualquer makefile arbitrário em um projeto do VS, simpy, porque os makefiles podem estar no formato que você deseja e muitas das suas funcionalidades simplesmente não têm contrapartida em um projeto do VS. Em segundo lugar, o VS6 tem cerca de 15 anos de idade, portanto, mesmo que você o execute em sua máquina, a saída produzida ainda é antiga e definitivamente não é o que você deseja usar para seus projetos.

9
stijn

Este artigo do CodeProject: Traduzir automaticamente projeto makefile C/C++ para Visual Studio oferece uma solução rudimentar voltada para projetos do VS 2013 C/C++.

[PS: não é o meu artigo, mas aborda pelo menos a parte principal da sua pergunta do VS6. ]

É um roteiro simplista e, portanto, repleto de suposições e oportunidades de fracasso. pode, no entanto, fornece um ponto de partida que é viável, se o seu projeto se encaixar no domínio de intenção.

Você ainda precisará:

  • incluir arquivos que obviamente não são arquivos C/C++
  • ajustar todas as opções do projeto
  • ajuste todas as opções do compilador
  • adicionar dependências de tempo do link
  • etc.

Caso esse artigo desapareça ... é um script VBS que:

  • varre o diretório em busca de arquivos que tenham extensões pertencentes a grupos VS conhecidos
  • se repete em subdiretórios procurando por mais arquivos.
  • cria os arquivos .vcxproj e .vcxproj.filters
  • adiciona os arquivos encontrados aos arquivos .vcxproj e .vcxproj.filters

Portanto, se você tiver projetos aninhados (provável), precisará ajustar o funcionamento do script em sua etapa de recursão.

Boa sorte.

3
Jesse Chisholm