Имя: Пароль:
IT
Веб-мастеринг
Проблема Visual Studio
0 web_profiler
 
07.04.15
17:41
Пытался скомпелировать проект с диска ИТС и вот такая вот ошибка
библиотеку 1CEAdnWebIE32d.lib в Внешние зависимости добавил

Создается библиотека C:\333\VNCOMP83\example\AddInIE\\bind\AddInIE.lib и объект C:\333\VNCOMP83\example\AddInIE\\bind\AddInIE.exp
1>1CEAdnWebIE32d.lib(AddInServiceEx.obj) : error LNK2019: ссылка на неразрешенный внешний символ "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ) в функции "public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __thiscall std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::assign(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,unsigned int,unsigned int)" (?assign@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV12@ABV12@II@Z)
1>1CEAdnWebIE32d.lib(AsyncManager.obj) : error LNK2001: неразрешенный внешний символ ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)"
1>1CEAdnWebIE32d.lib(AddInServiceEx.obj) : error LNK2019: ссылка на неразрешенный внешний символ "public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ) в функции "protected: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAE_NI_N@Z)
1>1CEAdnWebIE32d.lib(AsyncManager.obj) : error LNK2001: неразрешенный внешний символ ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)"
1 H A D G E H O G s
 
07.04.15
17:42
Проблема Visual Studio в том, что это Visual Studio.

Пешите на Дельфи.
2 web_profiler
 
07.04.15
17:43
а что проект с диска ИТС скомпилируется на делфи без проблем?
3 web_profiler
 
07.04.15
17:46
Вот перечень файлов

AddInIE.cpp
AddInIE.def
AddInIE.idl
AddInIE.rc
AddInIE.vcproj
AddInIE.vcxproj
AddInIE.vcxproj.filters
AddInSite.rgs
AddInWeb.rgs
config.cpp
config.h
Resource.h
stdafx.cpp
stdafx.h
targetver.h
4 web_profiler
 
07.04.15
17:47
ребята, ну помогите, плиз
5 dmpl
 
07.04.15
17:52
(0) Скорее всего либо нет нужной библиотеки в ссылках в проекте, либо способ вызова функции отличается от того, который есть в библиотеке.
6 Господин ПЖ
 
07.04.15
17:55
в инете вагон инфы по "LNK2019"
7 web_profiler
 
07.04.15
18:06
Деф файл

; AddInIE.def : Declares the module parameters.

LIBRARY      "AddInIE.DLL"

EXPORTS
    DllCanUnloadNow        PRIVATE
    DllGetClassObject    PRIVATE
    DllRegisterServer    PRIVATE
    DllUnregisterServer    PRIVATE
    DllInstall        PRIVATE
8 DmitrO
 
07.04.15
18:14
Скорее всего 1CEAdnWebIE32d.lib собрана в старой студии. То бишь версия стандартной библиотеки другая.
Чета такое помню я.
9 web_profiler
 
07.04.15
18:16
DmitrO привет, недавно помогал мне очень
И че делать?
10 DmitrO
 
07.04.15
18:17
Вообщем попробуй собрать этот проект в VS2005.
11 DmitrO
 
07.04.15
18:29
Или VS2009, 2005 не было. я как то быстро догадался, наверно потому что у меня две три студии стоят обычно.
12 web_profiler
 
07.04.15
18:33
а как насчет адаптеров? поговорим?
13 Saruc
 
07.04.15
18:39
Давай )
14 DmitrO
 
07.04.15
18:41
Так ты адаптер для IE ведь и собираешь.
15 web_profiler
 
07.04.15
18:47
для х86 собрал, а вот для х64 - увы
16 DmitrO
 
07.04.15
18:53
Для x86 работает?
17 web_profiler
 
07.04.15
18:56
ага
18 DmitrO
 
07.04.15
19:16
Т.е. для x86 ты собрал адаптер для IE и у тебя все работает в 32битном IE.
А для x64 не можешь собрать адаптер чтоли?
19 web_profiler
 
07.04.15
19:35
да все верно, для х64 немогу собрать
20 DmitrO
 
07.04.15
19:40
Ты заставил меня положить телефон, поднять задницу с дивана и сесть за комп, сейчас будем разбираться!

в (0) это ты для x64 адаптер собираешь или еще для x86?
21 web_profiler
 
07.04.15
19:40
хочешь покажу?
22 web_profiler
 
07.04.15
19:42
для х64
23 DmitrO
 
07.04.15
19:43
для x64 надо линковать с 1CEAdnWebIE64d.lib
24 web_profiler
 
07.04.15
19:43
пытаюсь отладить длл для платформы х64
25 web_profiler
 
07.04.15
19:44
что значит линковать? извини, не силен
26 web_profiler
 
07.04.15
19:45
я просто пытался запустить чтоб длл  хотябы создалась
27 web_profiler
 
07.04.15
19:45
для 32 бита хотябы
28 DmitrO
 
07.04.15
19:45
кроме того, надо еще собрать и включить в zip 64битный экземпляр самой компоненты.
29 web_profiler
 
07.04.15
19:46
экземпляр есть
30 web_profiler
 
07.04.15
19:47
надо собрать длл AddInIE для 64 бита
31 DmitrO
 
07.04.15
19:47
(25)"библиотеку 1CEAdnWebIE32d.lib в Внешние зависимости добавил"
для x64 надо добавлять 1CEAdnWebIE64d.lib
32 web_profiler
 
07.04.15
19:48
да суть вопроса, чтоб вначале хотя бы х86 скомпилировалась, она у меня же вообще не компелируется
33 DmitrO
 
07.04.15
19:52
(32)ничего не понял, я тебя спрашивал в (18) у тебя работает в IE?
ты говоришь: да
значит адаптер для IE ты уже собрал, а теперь говоришь что нет?
34 web_profiler
 
07.04.15
19:54
да что ж такое говорю, запускаю в х86 компонента устанавливается, запускаю в х64 - не устанавливается
35 web_profiler
 
07.04.15
19:54
В ИЕ
36 DmitrO
 
07.04.15
19:59
эээ, как она без адаптера у тебя устанавливается?
37 web_profiler
 
07.04.15
20:03
скидываю в ех
38 web_profiler
 
07.04.15
20:09
http://www.ex.ua/105130017382

реально работает, требуется в ИЕ повлючать все активХ
39 web_profiler
 
07.04.15
20:11
40 DmitrO
 
07.04.15
20:12
Посмотрел у себя: адаптеры для IE собирать надо в 9ой студии (которая VS 2008 называется), потому что .lib файлы, которые предоставляет 1С, собраны в ней.
41 DmitrO
 
07.04.15
20:14
ну так, вот же, у тебя же в зипе уже есть адаптер для x86, ты его собрал, или кто?
42 web_profiler
 
07.04.15
20:20
я собрал с диска итс - там пример есть для х86
43 web_profiler
 
07.04.15
20:20
там длл уже готовая для х86
44 DmitrO
 
07.04.15
20:24
ааа, дак ты из примера адаптер засунул в свой зип :)
ну это круто
45 web_profiler
 
07.04.15
20:26
да все верно
46 DmitrO
 
07.04.15
20:31
короче, надо ставить 9ю (2008) студию, собирать в ней свой dll-адаптер (надо прописать там всего несколько строк с именами твоей длл и именем объекта в твоей длл).

заполнить .inf файл

собрать все это в .cab файл (с ним тоже хлопот полно на сколько я помню)

включать этот файл в конечный зип
47 DmitrO
 
07.04.15
20:32
прописывать имена в config.cpp
48 web_profiler
 
07.04.15
20:35
2008 скачал, установил. давай завтра продолжим, устал ужасно
49 DmitrO
 
07.04.15
20:35
ок, до завтра
50 web_profiler
 
08.04.15
09:07
я уже тут
51 web_profiler
 
08.04.15
09:10
в 2008 VS ругается:
fatal error C1083: Не удается открыть файл include: atlbase.h: No such file or directory
52 web_profiler
 
08.04.15
09:49
а в 2010 VS теперь так:

1>AddInIE.def : warning LNK4022: не удается найти уникальное соответствие для символа "DllCanUnloadNow"
1>AddInIE.def : warning LNK4002: "public: long __thiscall ATL::CAtlDllModuleT<class CAddInWebModule>::DllCanUnloadNow(void)" (?DllCanUnloadNow@?$CAtlDllModuleT@VCAddInWebModule@@@ATL@@QAEJXZ) определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllCanUnloadNow@0 определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllCanUnloadNow@0 определен в ..\..\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4022: не удается найти уникальное соответствие для символа "DllGetClassObject"
1>AddInIE.def : warning LNK4002: "public: long __thiscall ATL::CAtlDllModuleT<class CAddInWebModule>::DllGetClassObject(struct _GUID const &,struct _GUID const &,void * *)" (?DllGetClassObject@?$CAtlDllModuleT@VCAddInWebModule@@@ATL@@QAEJABU_GUID@@0PAPAX@Z) определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllGetClassObject@12 определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllGetClassObject@12 определен в ..\..\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4022: не удается найти уникальное соответствие для символа "DllRegisterServer"
1>AddInIE.def : warning LNK4002: "public: long __thiscall ATL::CAtlDllModuleT<class CAddInWebModule>::DllRegisterServer(int)" (?DllRegisterServer@?$CAtlDllModuleT@VCAddInWebModule@@@ATL@@QAEJH@Z) определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllRegisterServer@0 определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllRegisterServer@0 определен в ..\..\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4022: не удается найти уникальное соответствие для символа "DllUnregisterServer"
1>AddInIE.def : warning LNK4002: "public: long __thiscall ATL::CAtlDllModuleT<class CAddInWebModule>::DllUnregisterServer(int)" (?DllUnregisterServer@?$CAtlDllModuleT@VCAddInWebModule@@@ATL@@QAEJH@Z) определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllUnregisterServer@0 определен в 1CEAdnWebIE32d.lib
1>AddInIE.def : warning LNK4002: _DllUnregisterServer@0 определен в ..\..\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\1CEAdnWebIE32d.lib
1>AddInIE.def : error LNK2001: неразрешенный внешний символ "DllCanUnloadNow"
1>AddInIE.def : error LNK2001: неразрешенный внешний символ "DllGetClassObject"
1>AddInIE.def : error LNK2001: неразрешенный внешний символ "DllRegisterServer"
1>AddInIE.def : error LNK2001: неразрешенный внешний символ "DllUnregisterServer"
53 web_profiler
 
08.04.15
09:49
Деф файл

; AddInIE.def : Declares the module parameters.

LIBRARY      "AddInIE.DLL"

EXPORTS
    DllCanUnloadNow        PRIVATE
    DllGetClassObject    PRIVATE
    DllRegisterServer    PRIVATE
    DllUnregisterServer    PRIVATE
    DllInstall        PRIVATE
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн