Как открыть существующий файл в visual studio
В наше время open source проекты все популярнее. На площадках открытых проектов, например, на github можно найти множество полезных программ, но они не всегда имеют исполняемые файлы ("exe"), поэтому я постараюсь рассказать о том, как можно собрать самостоятельно C/C++ программу, из исходников, написанную на Microsoft Visual Studio.
Первым делом нам необходимо загрузить онлайн установщик Microsoft Visual Studio, с официального сайта. Для компиляции С/С++ проектов нет необходимости во всех пакетах и можно выбрать только те, которые нам необходимы.
Установщик загрузит необходимые пакеты из интернета и установит их.
После установки Visual Studio можно убедиться, что всё работает создав тестовый проект и скомпилировав его. Для этого нажмите в меню "Файл" → "Создать" → "Проект. "
После чего появится диалог выбора типа проекта, где можно выбрать:
- Консольное приложение;
- Классическое приложение;
- Библиотеку динамической компоновки (dll);
- Статическую библиотеку;
В нашем случае для быстрой проверки подойдет консольное приложение, выбираем название и папку проекта , после чего жмём кнопку "ОК" и создается наша программа.
После этого остается остается лишь скомпилировать её, для этого нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Далее наш проект скомпилируется и в папке проекта появится наш тестовый исполняемый файл ("exe").
Если всё работает как надо, то можно приступать к сборке какого-нибудь другого открытого проекта с github или другого хостинга проектов.
Первым делом нам нужно загрузить исходники проекта. На площадке github это делается довольно просто, жмем на кнопку "Code" и "Download ZIP". После чего нужно распаковать его и можно приступать к сборке.
Ищем файл с расширением ".vcxproj" и запускаем его. Перед нами появится диалог в котором нам предложат обновить SDK проекта (набор библиотек для разработки, которые Microsoft периодически обновляет) и набор инструментов, жмём обновить.
Теперь наш проект можно собрать, но до сборки необходимо выбрать разрядность проекта (например, для 32 битной системы или 64 битной), а также тип сборки (отладочный режим - debug или release).
Выбираем 64 битную систему и тип сборки релиз, после чего компилируем проект. Как и ранее нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Некоторые проектам требуется вручную изменить SDK и набор инструментов, на установленный у вас, для этого идём в свойства проекта, выбираем сверху типа сборки и разрядность системы и уже там изменяем SDK и набор инструментов. В выпадающем меню появляются установленные у нас версии, выбираем их и нажимаем "ОК". После чего наш проект скомпилируется.
Бывает, что проект использует сторонние библиотеки, для этого их нужно загрузить отдельно и положить в папку. Узнать путь или изменить его можно в свойстве проекта, в разделе "С/C++" → "Общие" → "Дополнительные каталоги включаемых файлов".
Бывает, что SDK или набор инструментов, в свойстве проекта не изменяется в диалоге, чтобы изменить их нужно записать номер SDK, закрыть Visual Studio и вручную, блокнотом изменить этот номер в файле проекта ".vcxproj".
При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.
Способ запуска программы зависит от того, с чего вы начинаете, от типа программы и от необходимости использовать отладчик. В самом простом случае для сборки и запуска открытого проекта в Visual Studio выполните следующие действия.
- Нажмите клавишу F5, выберите Отладка >Начать с отладки в меню Visual Studio или выберите зеленую стрелку Запуск и имя проекта на панели инструментов Visual Studio.
- Для запуска без отладки нажмите клавиши CTRL+F5 или выберите Отладка >Запуск без отладки в меню Visual Studio.
Запуск из проекта
Если код программы уже находится в проекте Visual Studio, откройте проект. Для этого дважды щелкните CSPROJ-файл в проводнике Windows или выберите пункт Открыть проект в Visual Studio, найдите CSPROJ-файл и выберите его.
После загрузки проекта в Visual Studio, если решение Visual Studio содержит несколько проектов, убедитесь, что для проекта задан метод Main , чтоб он считался запускаемым проектом. Чтобы задать запускаемый проект, щелкните имя проекта или узел правой кнопкой мыши в Обозревателе решений, затем выберите пункт Назначить запускаемым проектом в контекстном меню.
Чтобы запустить программу, нажмите клавиши CTRL+F5, выберите Отладка > Запуск без отладки в верхнем меню или нажмите зеленую кнопку Запуск.
Visual Studio пытается выполнить сборку и запуск проекта. В нижней части экрана Visual Studio выходные данные сборки отображаются в окне Выходные данные, а все ошибки сборки — в окне Список ошибок.
Если сборка выполнена успешно, приложение запускается в соответствии с типом проекта. Консольные приложения запускаются в окне терминала, классические приложения Windows запускаются в новом окне, веб-приложения запускаются в браузере, размещенном в IIS Express.
Запуск из кода
Если вы выполняете запуск из листинга кода, файла кода или небольшого числа файлов, сначала убедитесь, что запускаемый код происходит из надежного источника и является запускаемой программой. Любое приложение с методом Main , вероятно, является готовой для запуска программой. Вы можете использовать шаблон консольного приложения, чтобы создать проект для работы с приложением в Visual Studio.
Листинг кода для отдельного файла
Несколько листингов кода или файлов на диске
Несколько файлов в папке
Если у вас есть папка с большим количеством файлов, сначала найдите файл проекта или решения. Программы, создаваемые Visual Studio, содержат файлы проекта и решения. В проводнике Windows найдите файлы с расширением .csproj или .sln. Дважды щелкните CSPROJ-файл, чтобы открыть его в Visual Studio. См. раздел Запуск из проекта или решения Visual Studio.
Если код находится в другой среде разработки, файл проекта отсутствует. Откройте папку, выбрав Открыть > Папка в Visual Studio. См. раздел Разработка кода без использования проектов и решений.
Запуск из репозитория Azure DevOps или GitHub
Если код, который вы хотите запустить, находится в GitHub или в репозитории Azure DevOps, можно использовать Visual Studio, чтобы открыть проект непосредственно из репозитория. См. раздел Открытие проекта из репозитория.
Запуск программы
Чтобы начать сборку программы, нажмите зеленую стрелку запуска на панели инструментов Visual Studio либо нажмите клавиши F5 или CTRL+F5. С помощью кнопки Запуск или F5 можно запустить программу в отладчике.
Visual Studio пытается выполнить сборку кода в проекте и запустить его. Если сборка завершится неудачно, ознакомьтесь со следующими разделами, чтобы понять, как успешно собрать проект.
Устранение неполадок
Добавление ссылок
Для успешной сборки код должен быть правильным и иметь правильные ссылки на библиотеки или другие зависимости. Красные волнистые линии в коде или записи в списке ошибок показывают ошибки еще перед компиляцией и запуском программы. Если возникают ошибки, связанные с неразрешенными именами, возможно, потребуется добавить ссылку и/или директиву using . Если код ссылается на отсутствующие сборки или пакеты NuGet, необходимо добавить эти ссылки в проект.
Visual Studio пытается помочь определить отсутствующие ссылки. Если имя не разрешено, в редакторе появляется значок лампочки. Если щелкнуть лампочку, можно увидеть некоторые рекомендации по устранению проблемы. Возможные исправления:
- Добавление директивы using
- Добавление ссылки на сборку
- Установка пакета NuGet
Добавление директивы using
Ниже приведен пример отсутствующей директивы using . Добавьте using System; в начало файла кода, чтобы разрешить неразрешенное имя Console .
Добавление ссылки на сборку
Вы можете найти сборки и добавить ссылки, следуя инструкциям в разделе Добавление и удаление ссылок с помощью диспетчера ссылок.
Добавление пакета NuGet
Если Visual Studio обнаруживает отсутствующий пакет NuGet, появляется лампочка, позволяющая установить его.
Если это не решает проблему и Visual Studio не удается найти пакет, попробуйте выполнить поиск в Интернете. См. раздел Установка и использование пакета NuGet в Visual Studio.
Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас!
В Visual Studio вы можете открыть любой EXE-файл как «проект». Просто перейдите в Файл -> Открыть -> Проект/Решение и перейдите к файлу .exe . Как если бы это был файл .sln . Visual Studio откроет этот EXE-файл как проект. Эта функция существует уже давно. Она работает на всех поддерживаемых в настоящее время версиях Visual Studio, и документация по ней находится на странице Отладка приложения, которое не является частью решения Visual Studio.
Отладка
Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:
Для отладки понадобятся символы, файлы PDB, для EXE и любых DLL, которые нужно отладить. Visual Studio будет следовать тому же процессу и попытается получить символы также, как и при отладке обычного проекта. Поскольку маловероятно, что файлы PDB были распространены вместе с EXE-файлом, возможно, вы захотите найти их в сборке или, что еще лучше, на сервере символов. Дополнительную информацию и рекомендации по использованию символов можно найти в этом блоге.
Для эффективной отладки вам также понадобится исходный код, который использовался для сборки EXE, или даже для нескольких файлов, которые вас интересуют. Вам нужно найти эти файлы и открыть их в Visual Studio. Если исходный код не совпадает с исходным кодом, который был собран, EXE Visual Studio предупредит вас, когда вы попытаетесь вставить точку останова, и точка останова не будет привязана. Это поведение может быть изменено в окне Settings peek window. В окне просмотра параметров щелкните текст ссылки Must match source, а затем установите флажок, чтобы разрешить несоответствующий источник, как показано ниже. Конечно, с несоответствующим источником вы никогда не знаете, что произойдет, так что используйте это только на свой страх и риск.
Если EXE был собран с SourceLink, то информация об источнике будет включена в PDB, и Visual Studio попытается загрузить источник автоматически. Это действительно хорошая причина использовать SourceLink с вашими проектами. Даже если у вас есть локальный набор, у вас может не быть той версии, которая использовалась для сборки двоичного файла. SourceLink — ваш надежный способ убедиться, что правильный источник связан с правильным двоичным файлом.
Если вы не можете получить исходный код, у вас еще есть несколько вариантов:
Профилирование
Заключение
Вот и все. Краткий обзор того, как вы можете использовать Visual Studio для отладки и профилирования приложений, которые вы не создаете и которые могут даже не иметь исходного кода. В следующий раз, когда вам понадобится отладить или профилировать EXE-файл, не забудьте, что вы можете открыть его как решение в Visual Studio!
exe – это скомпилированный бинарный запускаемый код.. .
посмотреть его можно только отладчиком или дизассемблером.. .
но, чтобы в этом разобраться – нужно учиться.. . лет десять 🙂
The Codeby
ООО Кодебай
Как изменить код программы, если потерян исходник
При нажатии на кнопку “Чтение” из файла 1.txt считываются и выводятся все строки в окно элемента управления textBox, а при нажатии на кнопку “Запись” данные из текстового поля сохраняются в файле 2.txt
Для хранения путей в программе используются две текстовых переменных: filePathIn и filePathOut
Прошёл год, как программа была написана и отдана заказчику, но вдруг ему потребовалось изменить имя папки, в которой должны храниться оба файла, c 123 на Text. Задача простая, но прошло уже много времени, и исходник был потерян, что делать в такой ситуации?
Полученный в результате компиляции файл (сборка) содержит внутри себя метаданные, манифест, код на языке IL (MSIL).
Метаданные — описывают типы данных и их члены
Манифест описывают саму сборку
MSIL код, полученный в результате компиляции файла исходного кода
То есть перед вами тот же исходник, только в другом формате. И для того, чтобы поработать с ним, Вам понадобиться специальный инструмент, который позволяет просматривать и редактировать данные внутри сборки.
Для удобства работы создадим отдельную папку, например: ”c:
ewasm” и поместим в неё файл TextEdit.exe
Затем в меню “Пуск” открываем папку: «Visual Studio Tools»
Запускаем командную строку разработчика
Откроется консоль, вводим первую команду: ildasm. Для выполнения команды нажмите клавишу Enter.
Появиться главное окно программы.
Переместим файл сборку TextEdit.exe в окно дизассемблера ILASM, в результате отобразиться её внутреннее содержимое.
Убедимся, что в ней содержатся нужные нам данные (пути к файлам).
Два поля на месте, теперь взглянем на метаданные.
Для доступа к метаданным Вы так же можно использовать сочетание горячих клавиш: Ctrl+M. Затем с помощью кнопки Find, найдём имя одного из файлов.
Как видно присутствуют оба. Пути найдены, и теперь их нужно изменить, но все данные, в текущий момент, доступны только для просмотра, и изменить их в самой дизассемблере нельзя, поэтому воспользуемся второй возможностью данной программы и выгрузим содержимое сборки в файл.
Выберите пункт меню File -> Dump
Появится меню. В данном примере, все пункты меню оставим без изменений и просто нажмём кнопку OK.
Появится диалоговое окно
Выберем ранее созданную папку “newasm”, затем укажем имя и тип файла и нажмём на кнопку “Сохранить”
В результате в папке “newasm” должно появиться несколько новых файлов
Закрываем окно ildasm, а так же удаляем файл Textedit.exe, больше он нам не понадобиться. Теперь нас интересует полученный файл texted.il и для начала откроем его любым текстовым редактором, например блокнотом.
Снова воспользуемся поиском (Ctrl+F)
Так же видим найденные строки, которые содержат пути к файлам.
Изменим текущее имя папки 123 на новое название Text, для обоих файлов
Сохраняем внесённые изменения и закрываем блокнот.
Изменения внесены и теперь нужно преобразовать файл txted.il обратно в исполняемый файл (.exe) Для этого нам понабиться второй инструмент ILASM, ассемблер, который так же входит в состав пакета SDK и не требует отдельной установки.
Возвращаемся в консоль
Вводим вторую команду:
Первый параметр: /exe — указывает компилятору, что на выходе мы хотим получить файл с расширением .exe. Затем указываем файл, который содержит MSIL-код. С помощью второго параметра /output — указываем имя и расширение нового файла.
Вот таким не сложным способом можно выйти из данной ситуации, при этом не имея исходника под рукой.
Вложения
The Codeby
ООО Кодебай
admin
Пятница на 10:09
Программа (файл) на каком языке написана?
Иван
Суббота на 10:09
Добрый день. Такая же ситуация. Пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно». Файл написан на Delphi.
В дельфи сборка не содержит CLR заголовок и код, если не ошибаюсь, сразу преобразуется в машинный.
Иван
Понедельник на 12:09
А как-то нормально можно посмотреть код, если есть уже окончательный exe и несколько dll проекта?
admin
Понедельник на 09:09 ПП
Что значит «нормально посмотреть код» ?
Иван
Среда на 03:09 ПП
Ну чтобы взять код себе в другой проект
admin
Четверг на 11:09
Есть вроде какие-то, но не помню названия, потому что не использую их.
Анатолий
Четверг на 12:02 ПП
Можете, помочь как я хочу переписать лаунчер для игры, что бы изменить проверку файлов но не могу никак открыть его. Пробывал через ресторатор 2007 но оно не может прочитать пату файлов точнее отобразить язык.
Вы можете выполнить отладку приложения (.exe файл), не входит в состав решения Visual Studio. You may want to debug an app (.exe file) that isn’t part of a Visual Studio solution. Вы или кто-то другой может созданные приложения вне Visual Studio, или приложения, полученный из где-то еще. You or someone else may have created the app outside of Visual Studio, or you got the app from somewhere else.
Обычно для отладки приложения, которое не существует в Visual Studio — запустить приложение вне Visual Studio, а затем подключите к ней с помощью присоединение к процессу в отладчике Visual Studio. The usual way to debug an app that doesn’t exist in Visual Studio is to start the app outside of Visual Studio, and then attach to it using Attach to Process in the Visual Studio debugger. Дополнительные сведения см. в разделе присоединение к выполняемым процессам. For more information, see Attach to running processes.
Подключение к приложению требует ручного действия, которые принимают несколько секунд. Attaching to an app requires manual steps that take a few seconds. Из-за этой задержки присоединение не поможет, отладка проблемы запуска, или приложение, которое не ожидает от пользователя ввода и быстро завершается. Because of this delay, attaching won’t help debug a startup issue, or an app that doesn’t wait for user input and finishes quickly.
Возможности отладки для приложения, которое не был собран в Visual Studio ограничены ли вы подключите к приложению, или добавьте в решение Visual Studio. Debugging features for an app that wasn’t built in Visual Studio are limited, whether you attach to the app or add it to a Visual Studio solution.
Если у вас есть исходный код, лучше всего импортировать код в проект Visual Studio. If you have the source code, the best approach is to import the code into a Visual Studio project. Затем запустите отладочную сборку приложения. Then, run a debug build of the app.
Если у вас нет исходного кода, и приложение не имеет отладочная информация в формате, совместимом, доступные возможности отладки очень мало. If you don’t have the source code, and the app doesn’t have debug information in a compatible format, available debugging features are very few.
Чтобы создать новый проект EXE для существующего приложения To create a new EXE project for an existing app
В Visual Studio выберите файл > откройте > проекта. In Visual Studio, select File > Open > Project.
В Открытие проекта выберите все файлы проекта, если еще не выбран, в раскрывающемся списке рядом с полем имя файла. In the Open Project dialog box, select All Project Files, if not already selected, in the dropdown next to File name.
Перейдите к .exe файл, выберите его и выберите откройте. Navigate to the .exe file, select it, and select Open.
Файл появится в новой, временные решения Visual Studio. The file appears in a new, temporary Visual Studio solution.
Начните отладку приложения, выбрав команду выполнения, например начать отладку, из Отладка меню. Start debugging the app by selecting an execution command, like Start Debugging, from the Debug menu.
Чтобы импортировать приложение в существующее решение Visual Studio To import an app into an existing Visual Studio solution
В Открытие проекта выберите все файлы проекта, если еще не выбран, в раскрывающемся списке рядом с полем имя файла. In the Open Project dialog box, select All Project Files, if not already selected, in the dropdown next to File name.
Перейдите к .exe файл, выберите его и выберите откройте. Navigate to the .exe file, select it, and select Open.
Файл отображается как новый проект в текущее решение. The file appears as a new project under the current solution.
С новым файлом выбран, начните отладку приложения, выбрав команду выполнения, например начать отладку, из Отладка меню. With the new file selected, start debugging the app by selecting an execution command, like Start Debugging, from the Debug menu.
По мере того, как программы становятся больше, в целях организации или повторного использования их обычно разделяют на несколько файлов. Одним из преимуществ работы с IDE является то, что они значительно упрощают работу с несколькими файлами. Вы уже знаете, как создавать и компилировать однофайловые проекты. Добавить новые файлы в существующие проекты очень просто.
Лучшая практика
Когда вы добавляете в проект новые файлы исходного кода, давайте им расширение .cpp .
Для пользователей Visual Studio
В Visual Studio кликните правой кнопкой мыши на папке Исходные файлы (Source Files) в окне Обозревателя решений (Solution Explorer) и выберите Добавить (Add) → Создать элемент… (New Item…).
Рисунок 1 – Добавление нового файла в проект в Visual Studio
Убедитесь, что у вас выбран Файл C++ (.cpp). Дайте новому файлу имя, и он будет добавлен в ваш проект.
Рисунок 2 – Создание нового файла в проекте в Visual Studio
Примечание. Если вы создаете новый файл из меню Файл (File), а не из своего проекта в обозревателе решений, новый файл не будет добавлен в ваш проект автоматически. Вам придется добавить его в проект вручную. Для этого кликните правой кнопкой мыши на папке Исходные файлы (Source Files) в окне Обозревателя решений (Solution Explorer) и выберите Добавить (Add) → Существующий элемент (Existing Item), а затем выберите свой файл.
Теперь, когда вы компилируете свою программу, вы должны увидеть, как компилятор перечисляет имя вашего файла при компиляции.
Для пользователей Code::Blocks
В Code::Blocks перейдите в меню File (Файл) и выберите New (Создать) → File… (Файл…).
Рисунок 3 – Создание нового файла в Code::Blocks
В диалоговом окне New from template (Создать из шаблона) выберите C/C++ source (Исходный файл C/C++) и нажмите Go (Перейти).
Рисунок 4 – Создание нового исходного файла C/C++ в Code::Blocks
На этом этапе вы можете увидеть или не увидеть приветствие в диалоговом окне мастера создания исходного файла C/C++. Если да, щелкните Next (Далее).
Рисунок 5 – Диалоговое окно мастера создания исходного файла C/C++
На следующей странице мастера выберите C++ и нажмите Next (Далее).
Рисунок 6 – Выбор языка при создании нового исходного файла в Code::Blocks
Теперь дайте новому файлу имя (не забудьте расширение .cpp ) и выберите все конфигурации сборки. Наконец, выберите Finish (Готово).
Рисунок 7 – Указание имени файла и выбор конфигураций сборки
Теперь, когда вы будете компилировать свою программу, вы должны увидеть, как компилятор перечисляет имя вашего файла по мере компиляции.
Для пользователей GCC/G++
Из командной строки вы можете создать дополнительный файл самостоятельно, используя свой любимый редактор, и дать ему имя. Когда вы компилируете свою программу, вам нужно будет включить в строку компиляции все соответствующие исходные файлы. Например:
где main.cpp и add.cpp – это имена ваших исходных файлов, а main – имя выходного файла.
Пример с несколькими файлами
В уроке «2.6 – Предварительные объявления и определения» мы рассмотрели программу с одним исходным файлом, которая не компилируется:
Когда компилятор достигает вызова функции add в строке 5 в функции main , он не знает, что такое add , потому что мы определили add только в строке 9! Нашим решением было либо переупорядочить функции (поместив сначала add ), либо использовать для add предварительное объявление.
Теперь посмотрим на аналогичную программу из нескольких исходных файлов:
Ваш компилятор может решить сначала скомпилировать либо add.cpp , либо main.cpp . В любом случае main.cpp не скомпилируется, что приведет к той же ошибке компилятора, что и в предыдущем примере:
Причина точно такая же: когда компилятор достигает строки 5 файла main.cpp , он не знает, что такое идентификатор add .
Помните, что компилятор компилирует каждый файл отдельно. Он не знает о содержимом других исходных файлов и не запоминает что-либо, что он видел из ранее скомпилированных исходных файлов. Таким образом, даже если компилятор, возможно, видел определение функции add ранее (если он сначала скомпилировал add.cpp ), он этого не запомнил.
Эта ограниченная видимость и короткая память являются преднамеренными, чтобы файлы могли иметь функции или переменные, у которых одинаковые имена, но которые не конфликтуют друг с другом. В следующем уроке мы рассмотрим пример такого конфликта.
Наши варианты решения здесь такие же, как и раньше: поместить определение функции add перед функцией main или удовлетворить компилятор предварительным объявлением. В этом случае, поскольку функция add находится в другом файле, вариант изменения порядка определений не подходит.
Лучшее решение здесь – использовать предварительное объявление:
main.cpp (с предварительным объявлением):
add.cpp (остается прежним):
Теперь, когда компилятор компилирует main.cpp , он будет знать, что такое идентификатор add , и будет удовлетворен. Линкер соединит вызов функции add в main.cpp с определением функции add в add.cpp .
Используя этот метод, мы можем предоставить файлам доступ к функциям, которые находятся в другом файле.
Попробуйте скомпилировать add.cpp и main.cpp с предварительным объявлением. Если вы получили ошибку линкера, убедитесь, что вы правильно добавили add.cpp в свой проект или строку компиляции.
Что-то пошло не так!
Есть много вещей, которые могут пойти не так, когда вы в первый раз попытаетесь работать с несколькими файлами. Если вы попробовали приведенный выше пример и столкнулись с ошибкой, проверьте следующее:
1. Если вы получаете ошибку компилятора о том, что add не определена в main , вы, вероятно, забыли предварительное объявление для функции add в main.cpp .
2а. … наиболее вероятная причина в том, что add.cpp неправильно добавлен в ваш проект. При компиляции вы должны увидеть в списке компиляции и main.cpp , и add.cpp . Если вы видите только main.cpp , значит add.cpp определенно не компилируется. Если вы используете Visual Studio или Code::Blocks, вы должны увидеть add.cpp в списке в обозревателе решений / на панели проекта в левой части IDE. Если его не видно, кликните на проекте правой кнопкой мыши и добавьте этот файл, а затем попробуйте скомпилировать снова. Если вы компилируете из командной строки, не забудьте включить main.cpp и add.cpp в свою команду компиляции.
2b. … возможно, вы добавили add.cpp не в тот проект.
2c. … возможно, что файл не компилируется или не линкуется. Проверьте свойства файла и убедитесь, что файл настроен для компиляции/линковки. В Code::Blocks компиляция и линковка – это отдельные флажки, которые следует установить. В Visual Studio есть параметр «исключить из сборки» (exclude from build), для которого следует установить значение «нет» или оставить пустым.
Резюме
Когда компилятор компилирует программу из нескольких исходных файлов, он может компилировать эти файлы в любом порядке. Кроме того, он компилирует каждый файл отдельно, не зная, что находится в других файлах.
Мы будем много работать с несколькими файлами, как только перейдем к объектно-ориентированному программированию, поэтому сейчас самое подходящее время, чтобы убедиться, что вы понимаете, как добавлять и компилировать проекты с несколькими файлами.
Напоминание: всякий раз, когда вы создаете новый исходный файл (.cpp), вам нужно будет добавить его в свой проект, чтобы он компилировался.
Небольшой тест
Вопрос 1
Разделите следующую программу на два файла ( main.cpp и input.cpp ). main.cpp должен содержать функцию main , а input.cpp должен содержать функцию getInteger .
Не забывайте, что вам понадобится предварительное объявление в main.cpp для функции getInteger() .
Читайте также: