Несколько основных файлов CPP в VisualStudio?
у меня есть образец каталога программного обеспечения, который содержит несколько файлов с несколькими main
функции. Могу ли я собрать все эти файлы в один проект, скомпилировать их, а затем запустить определенные, не получая main already defined
ошибка? Предположим, я не хочу создавать отдельный проект для каждого cpp файла.
обновление
мне нужно простое решение с одним-двумя щелчками мыши (если оно существует). Я не хочу распространять файлы между папками или содержимое файлов рефакторинга. Например, в Eclipse / Java вы можете щелкнуть правой кнопкой мыши любой файл с main и запустить его. И в одном проекте может быть много основных файлов. Возможно ли это для VisualStudio/CPP?
обновление 2
Я знаю, что C++ не является Java и что Visual Studio не является Eclipse. Мой вопрос касается автоматизации некоторых ручных операций.
6 ответов
Я не работал OpenCV, но он использует cmake и имеет CMakeLists.txt в образце каталога. Существует некоторая дискуссия о создании образцов с использованием cmake здесь.
Cmake ничего не создает сам, он генерирует сценарии сборки для целевой платформы и должен иметь возможность создавать файлы решений и проектов, которые можно загрузить в Visual Studio.
положить эти main
функции в отдельных пространствах имен, а затем определить, какой из них вы хотите запустить, например.
File1.cpp
namespace F1
{
int main(int argc, char * argv[])
{
// ...
}
}
The-real-main.cpp
int main(int argc, char * argv[])
{
if (whatever)
return F1::main(argc, argv);
}
редактировать: в ответ на дополнительную информацию.
C++ - это не Java, а VS-не Eclipse :) естественный способ поддерживать сразу несколько программ в VS-это поместить несколько проектов (по одному для каждого исполняемого файла или библиотеки) в одно решение. Если вы хотите запустить проект, просто щелкните его правой кнопкой мыши в Solution Explorer
выберите Set as Startup Project
и выберите Start
кнопка для запуска.
чтобы добавить проект в решение, щелкните решение правой кнопкой мыши и выберите Add
| New project...
или Add
| Existing project
.
в Visual studio:
создать одно "решение" - под решением можно создать несколько"проектов". Каждый проект будет компилироваться отдельно в исполняемый файл. Компиляция выполняется как обычно, кроме "выгрузки" ненужных проектов. Чтобы снова открыть один из других проектов, просто выберите "перезагрузить проект" из Обозревателя решений.
эта функция полезна для целей исследования / организации, где группируются исходные файлы в общей "папке" для легкий поиск и доступ еще во время компиляции/отладки отдельно. Главное преимущество того, что я могу сказать, заключается в том, что можно легко перемещаться по проектам с помощью обозревателя решений.
может быть самым простым решением является использование нескольких конфигураций построения. Просто создайте несколько конфигураций сборки, определите точку входа для каждой из них.
Если необходимо создать только один файл, вы можете использовать опцию "исключить файлы из сборки" в свойствах, чтобы исключить остальные. Выберите несколько исходных файлов и исключите их сразу. Очевидно, что это решение не работает, если вы обращаетесь к функциям / символам через файлы.