Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Ну, что пока могу сказать. Мувнул dll в любимую версию 2005 Express Edition. 32-битник заводится с полпинка на XP, 2003 и Win7 (больше не на чем проверить). И 120% что заведется и на Win10 32-бит и на всем остальном, потому как собаку съел на этой безупречной сборке (все C++ exe и dll version="8.0.50727.762" по определению работают на XP/2003 при условии что установлен пакет ".Net Framework 2.0 SP1" или выше, и по определению работают на Висте и всем что выше-без доустановки чего либо; если обновить студию, 2005-ю, то сборка будет другая, по этой причине у меня на Win10, куда я эту сборку 2005-й студии правдами и неправдами воткнул, снят флажок "Устанавливать обновления для других продуктов MS"). В манифесте там к слову написано: Код: vbnet 1. 2. 3. 4. 5. 6. 7. Только вот как мне аналогичный x64 сделать??? egorychА зачем тебе x64 для работы с факсом, можешь рассказать, кстати? Объясняю. Эта Dll -это не моя прихоть, это Fax Service Provider . Она управляется не моим 32-битным приложением, а майкрософтовской службой факсов (FXSSVC.exe). На 32-битной OS -эта кухня 32-битная, на 64-битной - соответственно 64-битная (без вариантов, не дублируется). То что 32-битную dll из 64-битного exe-шника вызвать нельзя, полагаю не мне вам объяснять. В принципе, я могу для x64 делать STATIC-файл в VS2013 (как бы базируясь на утверждении что XP x64 официально не выпускалась, а Win2003 x64 сейчас нафиг никому не нужен, для тех кто не в курсе WinXP x64 == Win Server 2003 x64), но, с учетом вскрывшихся проблем, я честно говоря не уверен ни за Висту, ни за 7-ку, ни за 8.1 ни вообще за произвольно взятый комп, насчет файла сделанного в 2013-й студии. Просто зачем делать заведомую "какашку" v120 если можно (уверен) чуть напрячься и сделать "конфетку" "8.0.50727.762" да хоть бы и x64. Вот единственное чего бы я не хотел, так это ломать свою "сборку 2005-й студии", не зная четко алгоритма добавления в нее x64-поддержки. Но у меня есть куча тестовых систем на которых я мог бы "поиграться". Поэтому вопрос бы поставил так: Как корректно добавить x64 support в 2005-ю студию, если его там нет. Ну или м.б. 2013-ю можно обучить делать заданную сборку? а я хочу version="8.0.50727.762" Да она старая, но она НОРМАЛЬНАЯ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 06:39 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77 Как корректно добавить x64 support в 2005-ю студию, если его там нет. Ну или м.б. 2013-ю можно обучить делать заданную сборку? а я хочу version="8.0.50727.762" Да она старая, но она НОРМАЛЬНАЯ. освоить чуть поглубже c/c++ и написать dll не использующий стандартный рантайм сборка make'ом с явным указанием что творишь вместо мышкокликанья в студиях - тож помогает делу в конце концов компиляцию и сборку делают cl.exe rc.exe link.exe, а студия - просто графическая оболочка для их запуска, для хелловорд'ов - достаточно удобная PS время на разборку с зоопарком студий и компиляторов ведь есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 07:41 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, ну не шибко то вижу руководство к действию в твоем ответе. Я так понял погуглив, что либо нужна полная студия 2005, и там якобы есть x64 голые как ты вырузился "make"-и, либо надо доустанавливать какое-то SDK к EE, далее есть типа хитрые инструкции как сделать x64 доступным из оболочки-студии. В моем случае все осложняется еще 2-мя моментами: 1) У меня не сохранился в чистом виде "лицензионный ключ 2005 EE", без которого она сдохнет через 30 дней, достать этот ключ сейчас невозможно (хоть он и бесплатен). Есть некоторые "дампы реестра" которые позволяют ее сделать "зарегистрированной" на любом компе, но при "манипуляциях" "лицензия" может слететь. 2) Манипулировать надо так, чтобы на выходе была именно сборка "8.0.50727.762", все остальные Redistrebutable-зависимы. Это не очень тривиальная процедура. Счас пока качаю "хз откуда" iso полной 2005-й студии, ну и видимо придется экспериментировать на какой-нибудь тестовой системе. Если повезет, то удастся родить чего надо. Если очень повезет, то удастся сделать 2005 EE x64 на рабочем компе. Изопропилсборка make'ом с явным указанием что творишь вместо мышкокликанья в студиях - тож помогает делу в конце концов компиляцию и сборку делают cl.exe rc.exe link.exe, а студия - просто графическая оболочка для их запуска, Да я не против. Вот что мне скачать и что сделать/написать/срисовать в cmd/bat-файле и т.п. чтоб было "8.0.50727.762"+"x64"? h, cpp, def -файлы - они ведь те же самые. Или м.б. можно где-то выдрать "инструменты под рантайм" и воткнуть их в VS2013, там же есть v120, v120_xp и куча еще интструментов на выбор - но не тот что мне нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 08:31 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 09:10 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, ещё раз - студия - это просто графическая оболочка. из командной строки собирай с явным указанием ключей компилятора и путей ко всем потребным библиотекам (например используя штатный nmake или cmake, на худой конец простым батником если исходников немного) главное - под полным своим контролем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 09:33 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, В настройках и так все видно. ТС, очевидно, бубен ниасилил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 09:50 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Счас пока качаю "хз откуда" iso полной 2005-й студии, ну и видимо придется экспериментировать на какой-нибудь тестовой системе.Что там экспериментировать??? "Распаковали" iso-шку и получили каталог с кучей msi вперемешку с msp. Создаём административную точку: Код: plaintext Код: plaintext Ну и в inlude/lib примерно также. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 11:07 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Ну я взял дистрибутив VS2005-Professional. (экспериментирую на ноуте с Win 10, где у меня стоит такая же VC++ 2005 Express Edition "8.0.50727.762") Установил из VS2005-Professional единственный компонент: Visual C++ -> X64 Compilers and Tools Чего-то он мне в папку C:\Program Files (x86)\Microsoft Visual Studio 8 доложил (типа подпапки amd64 местами). Express студию не сломал (версия и регистрация сохранились), но при выборе <New> в конфигурациях x64 так и не появилась. Саму Professional C++ IDE я так понял он не установил, т.к. галку ставил только "X64 Compilers and Tools". И как это лечить? Я хочу чтоб у меня появилось x64 в экспрессе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 22:46 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. как-то без всяких IDE и экспресс-бубнов работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 23:24 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, Я пока что сдуру запустил IDE от 2005 Professional, оно мне чего-то нагадило ("идет подготовка к первому запуску"), что теперь 32-битная компиляция на Express 9 ошибок лепит. "Лечить" это смысла нет, потому что сборка после лечения скорее всего будет "дефективная". Сижу откатываю ноут к исходной точке (и надеюсь отката хватит), хорошо это не основной рабочий комп. То что ты написал. Это что? Куда мне надо смотреть в правильном 32-битном проекте (сделанном в Express студии), чтоб родить подобие того что ты написал для 64-битного? Только для своего проекта. Студия (IDE) где-то же эту хрень пишет. То что я доустановил Visual C++ -> X64 Compilers and Tools из полного пакета, это видимо правильно а вот IDE от него трогать видимо было не надо. Хотя я честно был бы счастлив если б это можно было все воткнуть в IDE Express-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2017, 23:52 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Хотя я честно был бы счастлив если б это можно было все воткнуть в IDE Express-а это для хелловорда, а твои задачи несколько выходят из этого класса приложений разрабатывать можно в одной среде, а собирать для деплоя - в другой(и не обязательно визуальной) нормально сделанный make файл позволяет одним движением собрать и 32 и 64 битные версии, не говоря о прочих вкусностях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 06:04 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Короче черт с ними с make-ами, поигравшись на ноуте, сделал на рабочем компе так: 1) Резервируем C:\Program Files (x86)\Microsoft Visual Studio 8\VC (от корректно рабочего Express 2005) 2) Устанавливаем VS2005Full -только один компонент "x64 Compilers and Tools" 3) Запускаем IDE VS2005Full (оно установится) "C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\devenv.exe". Отказываемся от предложения установить "Update for Vista" и снимаем галку про напоминания оного (автообновления для "остальных" продуктов MS на Win10 должны быть тоже навсегда отключены), даем ей поиграть в "первый запуск". 4) Сохраненное в п.1 накатываем копированием поверх того что установила VS2005Full. 5) Запускаем Express и убеждаемся, что ничего не сломалось, т.е. что компилировалось - компилируется без ошибок и нужной сборки. 6) Запускаем Full и конфигурируем Tools -> Options -> Projects and Solutions -> VC++ Directories (Win32) -> Executible/Include/Library также как в экспрессе -это даст возможность делать 32-битник одинаково и в экспрессе и в Full. 7) По образу и подобию конфигурируем в Full: Tools -> Options -> Projects and Solutions -> VC++ Directories (x64) -> Executible/Include/Library Мне хватило добавить сверху: C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64 C:\Program Files\Microsoft SDKs\Windows\v6.1\Include C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib\x64 (то что нужно для моей dll ) 8) Ну и добавляем/делаем x64 конфигурацию (в Full IDE с учетом п.2 оно без проблем доступно) Т.е. файл Win32 могу делать в EE либо в Full (я их запараллелил), x64 тоже в Full. Проверил Win32: на XP,2003,Win7 x64: на Vista,8.1,2012R2 и на голой Win10 (не той где установлены студии). Везде все работает без проблем. Смущают 2 вещи. 1) Дистрибутив 2005Full походу как бы это сказать (оригинальных то на MS не дают) качал с "Get into PC", думал что TRIAl-оригинал качаю серийник типа подставился сразу и написал Licensed. Оно конечно хорошо с одной стороны, но с другой я предпочту Express или на худой конец VL с активацией на MS. Стоит за это переживать (с точки зрения что это не "слетит" и не содержит какой-нибудь дряни)? Сорри если это нарушает то о чем здесь нельзя писать, не нарочно получилось, хорошо хоть это нашел. 2) Манифест намекающий на рантаймы для x64 несколько отличается: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Т.е. там указано кроме хорошей сборки ="8.0.50727.762" еще и вторая version="8.0.50608.0" Это почему? И как к этому относиться? Но вроде хуже не становится. (плохо то что после 50727) Надо ли это пытаться допиливать? P.S. Я рантаймы из Full не устанавливал, т.е. оно очевидно поставилось на то что было с Express, а x64 в Express не было. Ну и конечно обидно что современная VS2013 (а ить привык уже в ей сидеть) не способна родить нормальную сборку и приходится откатывать проект спасибо что хоть не в 6-ю студию. ИзопропилДмитрий77Хотя я честно был бы счастлив если б это можно было все воткнуть в IDE Express-а это для хелловорда, а твои задачи несколько выходят из этого класса приложений разрабатывать можно в одной среде, а собирать для деплоя - в другой(и не обязательно визуальной) нормально сделанный make файл позволяет одним движением собрать и 32 и 64 битные версии, не говоря о прочих вкусностях Ток счас прочитал твой ответ. Да не охота чесно в эти make-и врубаться. Я с такими dll вожусь нечасто. Вот я эту фишку насчет универсальности "50727" просек лет 8 тому назад и очень успешно до сих пор это использую. Хотя в ориг. примере из sdk кстати make готовый имеется под Win32, счас обратил внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 06:48 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Я пока что сдуру запустил IDE от 2005 Professional, оно мне чего-то нагадило ("идет подготовка к первому запуску"), что теперь 32-битная компиляция на Express 9 ошибок лепит. "Лечить" это смысла нет, потому что сборка после лечения скорее всего будет "дефективная". Сижу откатываю ноут к исходной точке (и надеюсь отката хватит), хорошо это не основной рабочий комп. Делай это в виртуалке. Например в VirtualBox Делаешь снимок, ставишь/сносишь все что угодно, не понравилось - откат к снимку пара кликов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 07:06 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Dima T, Да не, с этим разобрался уже, см. предыдущий пост. (тем более у меня есть резерв "правильной VC папки" и "правильной ветки реестра") Все хорошо уже, и на ноуте и на рабочем компе. Смущает только довесок version="8.0.50608.0" в 64-битном манифесте. Я вот думаю или так надо, или наплевать, или еще экспериментировать. version="8.0.50727.762" -она очень тщательно подбиралась, начиная с одного прекрасного дня, когда после какого-то обновления файлы на соседнем XP (таком же но без студии) вдруг перестали запускаться. Давно это было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 07:18 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Смущает только довесок version="8.0.50608.0" в 64-битном манифесте. Я вот думаю или так надо, или наплевать, или еще экспериментировать. собери со статическим рантаймом и не будет этой зависимости. и нехер ничего тщательно подбирать. старый рантайм практически всегда в системе болтается. тебе просто не свезло - подвернулась неотсервиспачtная нетронутая установкой стороннего софта XP винда. PS Сколько можно жрать кактус - или статически линкуйся или в инсталлятор включай рантайм с которым собирался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 08:31 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, кактусы я разные жру, как правило успешно, зато потом годами стабильное приложение на выходе. Я уж кажется понял откуда там ="8.0.50608.0" в 64-битном манифесте. 8.0.50727.762 -это 2005 SP1 а у меня в "эталоне" установлен SP1 для Express, соответственно x64 он как должно не затрагивает. Счас попробую накатать нужный SP1, на ноуте для начала. >старый рантайм практически всегда в системе болтается. тебе просто не свезло - подвернулась неотсервиспачtная нетронутая установкой стороннего софта XP винда. мне не свезло со статическим рантаймом от VS2013, причем не на XP, а на 2003. И не свезло так, что возникли сомнения в адекватности этого самого vc120 (и redistr. что интересно не помог!!!). лучше уж помудохаться с 2005-й. 8.0.50727.762 -этот рантайм очевидно идет с .Net 2.0 SP1 и всеми OS начиная с Висты - и да, получается я его и так "таскаю с инсталлятором" (для XP/2003, а на новых он и так есть по дефолту). 8.0.50608.0 - скорее всего тоже идет, но лучше уж подогнать под 50727 в чем уверен. Это знаешь грызня кактуса пару дней, зато спокойствие на годы вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 09:00 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Дмитрий77, я тебе о статической линковке с использованием VC8(2005). и мудохаться не надо. а высвободившееся время лучше потратить на изучение инструментов сборки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 09:14 |
|
||
|
Проект dll(надо и 32 и 64 бит версии) в VS2013 Ultimate C++ -чтоб от XP до Win10
|
|||
|---|---|---|---|
|
#18+
Изопропил, ну я понял. Но у меня кстати все получилось уже. Накатал правильный SP1 поверх. EE не испортил. А вот x64 в full скорректировался к каноническому виду. Код: vbnet 1. 2. 3. 4. 5. 6. 7. P.S. А вот в .Net не надо с рантаймами бодаться когда API декларируешь. Но надо бодаться с версиями .Net. Дурдом(С) PPS. А вот в VB6, гы, ни с тем ни с другим бодаться не надо было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2017, 09:39 |
|
||
|
|

start [/forum/moderation_log.php?user_name=qwe]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 19ms |
| total: | 161ms |

| 0 / 0 |
