Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как переместить файл проекта MSVC 6?
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
SM
Вопрос такой. Как сменить директорий, где располагается файл проекта (.dsp) вижуал студии, да так, чтобы внутри него все пути поменялись и остались корректными? Т.е., грубо говоря, просто переместить .dsp-файл из одного места в дереве директориев проекта в другое наименьшими усилиями? Я пока что менял все пути внутри файла в текстовом редакторе. Теперь привалило такое для реально большого проекта. Вижу вариант - в линуксе скрипт наваять для этого. Но интересует вопрос - а может есть готовое решение на поверхности?
ms1
Насколько мне известно, средствами самой студии никак.
А чем не нравится в текстовом редакторе?
Поиск с заменой сделает это довольно быстро.
Может посто чего то не понял?
Если собираетесь писать скрипт значит это нужно постоянно?
Ума не приложу для чего это может быть нужно каждодневно.
Если расскажете, вместе подумаем...
SM
Цитата(ms1 @ Jan 29 2010, 23:03) *
Если расскажете, вместе подумаем...


Расскажу.

У меня есть немереная куча исходников порядка 20-ти разных DLL-ек. Мне надо собрать их всех в одном проекте. Для этого я переделываю все те проекты в static library, собираю их, и собираю свою надстройку со всеми ними. Но я хочу перетащить все файлы проектов в один директорий. При этом каждый из тех проектов имеет глубоко вложенное и разветвленное дерево директориев, и проект как таковой (dsp-файл) лежит в самой глубине. В результате в нем все пути выглядят как "..\..\..\..\..\..\dir1\dir2\dir3\src1.c" с разными количествами этих "..\" и с разными путями после них. Поиском-заменой в редакторе еще нормально, когда размер dsp-файла 10-15 килобайт. Но вот добрался до 230-килобайтного .dsp (это драйвер JTAG-отладки одного из процессоров), и в редакторе опупел и запутался. Так что, коненчо, не каждодневно, но еще раз 15 понадобится. И потом, по мере обновления тех исходников (а они не мои, они лицензированные у другой конторы, и что есть и как есть, так и есть), тоже надо будет.

Короче - вопрос "зачем" не стоял. Вопрос стоял и стоит "как" малой кровью.

ЗЫ. Модераторы, по что в "начинающим" тему перетащили? Это им ни в жизнь не понадобится. Верните пожлуйста обратно... Сорри, не знаю кому в личку писать.
ms1
Цитата(SM @ Jan 30 2010, 01:40) *
У меня есть немереная куча исходников порядка 20-ти разных DLL-ек. Мне надо собрать их всех в одном проекте. Для этого я переделываю все те проекты в static library, собираю их, и собираю свою надстройку со всеми ними.

Здесь все понятно и логично.
А вот в чем преимущество перетаскивания файлов проектов в один каталог все равно не пойму.
Поместить их в один воркспейс недостаточно?
Там вы и видеть их будете вместе и ребилд всех сможете делать по нажатию одной кнопки.
Тем более что исходники не ваши, и как понял их будут изменять другие люди, возможно добавлять новые файлы, перемещать их.
Вам тогда потребуется тоже выдумывать механизм отслеживания этих изменений.
Все это муторно и черевато ошибками.
Фактически же, как я понял, в каждом из тех проектов, вам надо изменить только вид библиотеки с динамической на статическую, ну и возможно расположение результирующего файла.
Все же мое мнение, лучше структуру проектов оставить как задумано их разработчиком. Создать воркспейс как я писал выше куда включить все те проекты + свой головной проект и сделать его зависимым от остальных.
Или я опять не понял что вам хочется...

ПС:
Извиняюсь что не по теме.
Вопрос стоит как сделать, а я вместо того чтобы советовать по существу уговариваю отменить ваше решение.
Похоже другого выхода кроме как писать свою утилиту нет. Готовую боюсь тоже не найдете.
SM
Цитата(ms1 @ Jan 30 2010, 03:33) *
А вот в чем преимущество перетаскивания файлов проектов в один каталог все равно не пойму.
Поместить их в один воркспейс недостаточно?

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

Цитата(ms1 @ Jan 30 2010, 03:33) *
Там вы и видеть их будете вместе и ребилд всех сможете делать по нажатию одной кнопки.

Это и так понятно было без разъяснений.

Цитата(ms1 @ Jan 30 2010, 03:33) *
Вам тогда потребуется тоже выдумывать механизм отслеживания этих изменений.

этим пусть diff занимается smile.gif Вообще с этим у меня уже система отработана, есть все необходимые скрипты. Нет пока только для файла проекта.

Цитата(ms1 @ Jan 30 2010, 03:33) *
Или я опять не понял что вам хочется...

Красоты, удобства и общности.

Цитата(ms1 @ Jan 30 2010, 03:33) *
Похоже другого выхода кроме как писать свою утилиту нет. Готовую боюсь тоже не найдете.

Собственно, этот ответ тоже вполне достаточен. Скрипт так скрипт, тем более, что всякие sed/awk для меня как родные.

ЗЫ. Меня, кстати, вполне устроит, если makefile экспортнуть из .dsp, и найти, чем его корректно перетащить. Так как собирать вин-версию вовсе не обязательно кнопкой из среды.
ms1
Цитата(SM @ Jan 30 2010, 12:48) *
Собственно, этот ответ тоже вполне достаточен. Скрипт так скрипт, тем более, что всякие sed/awk для меня как родные.


Пожалуй на этом и придется остановится.
Жаль, что ничем больше помочь не удалось.

Цитата
ЗЫ. Меня, кстати, вполне устроит, если makefile экспортнуть из .dsp, и найти, чем его корректно перетащить. Так как собирать вин-версию вовсе не обязательно кнопкой из среды.


Естественно. Раз уж предполагается портирование на другие платформы то мейкфайл почти единственное решение. Тем более что штатное средство конвертации .dsp > makefile в студии есть.

Удачи Вам в вашей войне с исходниками. smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.