Выбор основной функции для использования в Visual C ++ 2010 - PullRequest
2 голосов
/ 03 августа 2011

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

Как выбрать, какой файл содержит функцию main () в Visual C ++ 2010?

В настоящее время, когда я компилирую, я получаю ошибку компоновщика из-за дублирования символов main ().

Единственное, о чем я могу думать, - это макрос условный.

Есть еще идеи?

Ответы [ 2 ]

4 голосов
/ 03 августа 2011

Несколько main функций означают, что исходный код создает не один исполняемый файл, а набор из них.Вы должны выяснить, какие части принадлежат каждому из исполняемых файлов (прочитайте Makefile), а затем создать различные решения внутри решения, один для каждого из исполняемых файлов (сделать то же самое для библиотек).Затем вы можете использовать IDE, чтобы выбрать, какой исполняемый файл вы хотите скомпилировать / запустить.

1 голос
/ 03 августа 2011

в свойствах конфигурации для каждого исходного файла (щелкните правой кнопкой мыши в обозревателе решений) вы можете выбрать «Исключено из сборки».Так как это настройка для каждой конфигурации, вы можете добавить некоторые конфигурации и взаимно исключить файлы с помощью main ().Например, для конфигурации «MainA» вы включаете maina.cpp и исключаете mainb.cpp и mainc.cpp, для «MainB» включаете mainb.cpp и исключаете maina.cpp и mainc.cpp и т. Д.будет иметь только один main () и выбрать соответствующий источник, используя аргументы или файл конфигурации.Или, может быть, лучшее решение - создать один проект для каждого основного файла и поместить общие части в статическую или общую библиотеку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...