Могу ли я скомпилировать и отладить (запустить) один файл C++ в Visual Studio 2012? (Как не создавать слишком много проектов)

Я изучаю С++ по книге и использую Visual Studio 2012. Чтобы следовать упражнениям из книги, мне нужно создать несколько файлов .cpp с функцией main() внутри них. Можно ли компилировать/отлаживать свои программы, не создавая каждый раз новый проект?

Например, если я напишу простое «Hello, World!» файл, а затем решить сделать что-то еще, что действительно просто, могу ли я избежать создания нового проекта для каждой простой программы? Есть ли способ использовать Visual Studio 2012 просто как компилятор? Мне бы понравилось, если бы я мог просто иметь все в одном проекте, где я мог бы скомпилировать любой отдельный файл, который я хотел, и посмотреть, как он запускается.

Спасибо за вашу помощь.


person Sunjay Varma    schedule 18.05.2013    source источник


Ответы (7)


Хотя уже слишком поздно добавлять этот ответ, он может быть полезен будущим зрителям. Вот что я сделал -

Пытаясь понять, как использовать Visual Studio для той же цели, о которой вы просили, я заметил и обнаружил, что для проекта C++ должна быть только одна отправная точка, то есть только одна функция main().

Таким образом, вместо того, чтобы каждый раз создавать новый проект, просто измените имя (main()) функций в неиспользуемых файлах C++ на другое, например имя файла или что-то еще.


Например, я сначала создал свою самую первую программу hello_world.cpp с функцией main(), а затем скомпилировал ее, запустил и узнал все, что мог, используя ее.

Но теперь я хочу создать новый файл, чтобы попробовать что-то новое (новый файл learn_operators.cpp с собственной функцией main()).

Итак, прежде чем пытаться скомпилировать и запустить learn_operators.cpp, я изменю имя main() в hello_world.cpp, скажем, на hello_world(), а затем соберу и запущу проект так же, как и раньше, но на этот раз только этот новый файл будет работать как это (новая) отправная точка для проекта (то есть включает функцию main()).

Надеюсь, это поможет и поправит меня, если я где-то ошибаюсь.

person PalashV    schedule 20.05.2015

Для компиляции просто создайте файл cpp. и используйте инструмент командной строки cl. Проверьте MSDN Ссылка: Скомпилируйте нативную программу на C++ из командной строки Пример cl /EHsc simple.cpp

person Neel Basu    schedule 18.05.2013
comment
И как сказать ему по-прежнему поддерживать контекст моего проекта? Например. Я написал некоторый интерфейс данных в проекте с графическим интерфейсом, могу ли я протестировать его в отдельном файле вместо запуска огромного приложения с графическим интерфейсом? - person Tomáš Zato - Reinstate Monica; 18.08.2016

  1. Щелкните правой кнопкой мыши файл.
  2. Перейдите в Свойства конкретного файла, который вы не хотите запускать.
  3. В свойствах конфигурации перейдите в раздел «Общие».
  4. Установите для параметра «Исключено из сборки» значение «ДА».
  5. Нажмите Применить.
  6. Затем загрузите отладчик Windows.

Готово!

person Desai    schedule 22.04.2015

Вы можете добавить все свои файлы cpp в один и тот же проект с разными именами файлов, затем вы можете щелкнуть правой кнопкой мыши каждый файл и исключить файлы, которые вы не хотите собирать.

Однако гораздо лучше иметь проект для каждого приложения.

В качестве альтернативы вы можете иметь один основной файл, который вызывает другие ваши функции в других файлах, где вы реализуете свои упражнения, тогда вам не нужно ни с чем иметь дело, просто реализуйте новые упражнения в новом файле и вызывайте его из основного.

person Barış Uşaklı    schedule 18.05.2013
comment
Смешно создавать несколько файлов только для проверки нескольких строк кода. - person Kyle Delaney; 08.07.2016
comment
@KyleDelaney Точно. Не говоря уже о каком-то проекте, где main() генерируется какой-то библиотекой. - person Tomáš Zato - Reinstate Monica; 18.08.2016

Вы также можете использовать условную компиляцию для решения этой проблемы. Но я бы очень рекомендовал вам приложить усилия, чтобы создать новый проект для каждой программы.

заголовок.h

#include<iostream>
#define __HelloWorld__

HelloWorld.cpp

#include"header.h"

#ifdef __HelloWorld__

int main() {
    std::cout << "Hello World" << std::endl;
}

#endif

программа2.cpp

#include"header.h"

#ifdef __program2__

int main() {
    std::cout << "Program 2" << std::endl;
}

#endif

Теперь вы можете выбрать через #define программу, которую хотите запустить.

person tzwickl    schedule 18.05.2013

Если щелкнуть правой кнопкой мыши имя решения в окне браузера проектов на правой панели, вы сможете добавлять проекты в существующий. Однако гораздо лучше начинать новый проект для каждого упражнения. Здесь есть ссылка для вас.

person FeliceM    schedule 18.05.2013

Я могу найти решение только для Visual Studio 2019, поэтому оно может не работать в VS 2012. Вы можете перейти в обозреватель решений, удалить все остальные файлы (просто удалить, а не удалить), а затем добавить новый файл. Тогда вы сможете его скомпилировать.

person nNguyeNn    schedule 27.05.2021