Имя: Пароль:
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