![]() |
|
Проблема 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
|
||||
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 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |