|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
Один .cpp файл для двух проектов07.08.2010, 20:48. Показов 3489. Ответов 10
Метки нет (Все метки)
Есть решение в котором хочу сделать два проекта которые будут создавать два отдельных exe
Но у этих проектов куча одинаковых функций я хочу как то выделить файл .cpp который как бы будет вне двух проектов и доступный для каждого Как это можно сделать ? создать в регении две папки проетков, а нужный файл .cpp вынести за эти папки или как ?
0
|
|
| 07.08.2010, 20:48 | |
|
Ответы с готовыми решениями:
10
Объединить функционал двух проектов в один Один TStringList на CPP и заголовочный файл |
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 07.08.2010, 22:04 | |
|
nill, а может процще его просто скопировать?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 07.08.2010, 22:10 | |
|
nill, Возможно подойдет вариант, сделать функции в нужном cpp файле с модификатором extern)
0
|
|
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
||||||
| 07.08.2010, 22:52 [ТС] | ||||||
|
M128K145
функции постоянно изменяються я и хочу сделать одну функцию для двух проектов иначе надо править одну потом другую Lavroff то есть это как ? можно схему в двух словах описать то есть 1)Выношу .cpp файл за пределы двух проектов 2)Прописываю в нем функцию как обычно 3)В заголовочном файле каждого проекта объявляю прототип функции такого вида
0
|
||||||
|
48 / 48 / 7
Регистрация: 04.08.2010
Сообщений: 110
|
||
| 07.08.2010, 23:35 | ||
|
Классы или библиотеки не пробовали использовать?
Полностью присоединяюсь к
0
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 07.08.2010, 23:49 | |
|
выделите в отдельную папку .cpp с .h, и вставляйте в проекты, а .h подключайте соответственно както так
#include "../folder/1.h" дальше извращения можно выдилить этот спп в отдельный проект и компилировать в либу - ее и подключать ^_^
0
|
|
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 08.08.2010, 01:13 [ТС] | |
|
alex_x_x,
то есть если я вставлю одну и туже физическую папку с .срр файлами в два проекта, то скажем если я что изменю в файлах из этой папки в одном проекте то в другом эти изменения тоже будут ?
0
|
|
|
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
||||||
| 08.08.2010, 01:26 | ||||||
|
nill, знаете что такое svn? Так вот alex_x_x предлагает сделать вам примитивный его аналог.
Когда у меня была подобная необходимость(только тогда мне надо было отдельно dll, отдельно программу писать и совместно их дебажить) - я просто в начало программы написал строку с таким кодом
1
|
||||||
|
48 / 48 / 7
Регистрация: 04.08.2010
Сообщений: 110
|
|
| 08.08.2010, 02:04 | |
|
1. Не надо ничего копировать, Project->Add Existed Item. Тогда во всех проектах будет использоваться один и тот же .cpp, можно в свойствах проекта прописать пути к CPP файлам, чтобы каждый раз не прописывать - сразу в свойствах(Options) самой студии.
2. Открыть для себя статически линкуемые библиотеки! Чтобы не мультиплицировать исходный код. 3. SVN - контроль версий. Больше ничего не приходит в голову!!!
1
|
|
|
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
|
|
| 08.08.2010, 02:15 [ТС] | |
|
M128K145,
чет я еще больше запутался svn это онлайн папка с кодом ? Вообще чтобы прояснить у меня два проекта но оба это DLL без проги, она идет отдельно ее отлаживать не надо то есть вот получаеться у вас было как бы два проекта DLL и EXE и файлы от DLL при выполнении EXE копировались в папку с программой ? То есть если правильно понял мой вариант такой делать не два а три проетка и один из них будет состоять из общих функций для двух других проектов и каждый раз при запуске одного из двух главныхх проектов файлы из третьего проекта будут копироваться в папку одного из двух главных проектов ? Добавлено через 3 минуты abiprofi, Это три разных варианта действий выполнив какой то один я получу то что нужноили мне надо все это выполнить чтобы у меня в двух проектах были одинаковые cpp файлы синхронно обновляемые ? из пунктов пока понял только первый если сделаю только его при изменении общего срр файла в одном проекте он будет меняться и в другом ?
0
|
|
|
48 / 48 / 7
Регистрация: 04.08.2010
Сообщений: 110
|
|
| 08.08.2010, 02:37 | |
|
Да Вы правы, это три разных варианта действий, у каждого из них свои достоинства и недостатки.
1. Вы и Ваш друг, пишете программу, в которой несколько модулей (файлов .cpp, библиотек .dll и т.д) в этом случае необходимо осуществлять контроль версий. 2. Вы начали писать проект, достигли определенного прогресса, устали. Через 1 год вернулись и т.д. В этом случае есть один файл .cpp и куча его доработок - статические библиотеки. Одна библиотека - "одна-несколько доработок". 3. У Вас 333 проекта использующих один .cpp файл, тогда сделайте его общим. Достаточно часто эти варианты совмещаются!!!
1
|
|
| 08.08.2010, 02:37 | |
|
Помогаю со студенческими работами здесь
11
Один *.h для нескольких *.cpp Есть три файла. файл main.cpp и Source.cpp знают только Header.h, так как он подключен. как же подключается Source.cpp Скомпилировать 5 проектов *.CPP в *.EXE Одно решение для двух проектов Общий класс для двух проектов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|