Ilink32 error unable to perform link

[ilink32 Error] Error: Unable to perform link C++ Builder Решение и ответ на вопрос 1783005

46 / 20 / 5

Регистрация: 29.12.2015

Сообщений: 1,771

1

19.07.2016, 21:52. Показов 13418. Ответов 6


[ilink32 Error] Error: Unable to perform link
Короче что за ошибка
Ошибка только одна такая все остальное это собщения.
Не пойму а главное что ошибку он не показывает только выдает вот это сообщение

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



279 / 156 / 52

Регистрация: 30.06.2011

Сообщений: 1,712

20.07.2016, 07:42

2

Alexandr_7, надо показать проект, где эта ошибка возникает. Телепаты сейчас в отпусках все.



0



46 / 20 / 5

Регистрация: 29.12.2015

Сообщений: 1,771

20.07.2016, 07:58

 [ТС]

3

Цитата
Сообщение от d7d1c
Посмотреть сообщение

Alexandr_7, надо показать проект, где эта ошибка возникает. Телепаты сейчас в отпусках все.

Переустановил студию и проблема исчезла но появилась другая свзанная с енеправильным отоброжением при редактировании. Короче видимо проект испорчен возможно я не те клавиши нажал можер рад 10.1 кривой. Не знаю. Но я решил заново создать новый проект.



0



46 / 20 / 5

Регистрация: 29.12.2015

Сообщений: 1,771

21.07.2016, 22:40

 [ТС]

4

Переустановка и создания нового проекта не помогла
Блин да что за фигня

Код

[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilc: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ild: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilf: 0x00010000 / 0x0a000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ils: 0x00040000 / 0x08000000
[ilink32 Warning] Warning: unknown heap name   : 0x08000000 / 0x08000000
[ilink32 Warning] Warning: Error detected (LME288)
[ilink32 Warning] Warning: Unable to perform incremental link - performing full link...
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilc: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ild: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilf: 0x00010000 / 0x0a000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ils: 0x00040000 / 0x08000000
[ilink32 Warning] Warning: unknown heap name   : 0x08000000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilc: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ild: 0x00010000 / 0x08000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ilf: 0x00010000 / 0x0a000000
[ilink32 Warning] Warning: X:/boris/OneDrive/DHE/Out/DHE.ils: 0x00040000 / 0x08000000
[ilink32 Warning] Warning: unknown heap name   : 0x08000000 / 0x08000000
[ilink32 Warning] Warning: Error detected (LME288)
[ilink32 Error] Error: Unable to perform link
Failed
Elapsed time: 00:00:00.8

И это с учетом того что написана одна строчка кода



0



Супер-модератор

Эксперт Pascal/DelphiАвтор FAQ

32451 / 20945 / 8105

Регистрация: 22.10.2011

Сообщений: 36,213

Записей в блоге: 7

21.07.2016, 23:29

5

Мне помогает вот это решение: Не компилируется проект на RAD XE 10 («Error detected (LME288)») (без выполнения пункта №2, то есть очистки TEMP, работать не будет, тут весь смысл — именно в очистке старых tmp-файлов, именно в них что-то не то записывается, что потом при компиляции выливается в unknown heap name). А переустанавливать RAD Studio можешь до потери пульса, при этом временная папка не очень-то и чистится, вот и возникает та же ошибка после переустановки



0



46 / 20 / 5

Регистрация: 29.12.2015

Сообщений: 1,771

22.07.2016, 01:27

 [ТС]

6

Удалил папку __history. Помогло.
Но команда clean в в меню проэкт не помогает.
Тут даже не переустановка тут эта ошибка время от времени выходит
Может быть баг RAD Studio 10.1
В делфи тойже версии такой ошибки нет. Ошибка непосредственно в VCL C++ Builder
RAD Studio 10.1 Berlin

Добавлено через 14 минут
Короче сделал батник. Надеюсь поможет

Код

RMDIR /S /Q __history
DEL /F /Q "Win32Debug*.*"
DEL /F /Q "Win32Release*.*"
Start DuneHackEditor.cbproj



0



279 / 156 / 52

Регистрация: 30.06.2011

Сообщений: 1,712

22.07.2016, 07:52

7

Alexandr_7, надо чистить временные папки не проекта, а системы. Кроме этого, надо было сначала поиском воспользоваться. Тема была совсем недавно. Почитай.



0



I got some information on this from Embarcadero which may help.

The error is an «out of memory», error. The reason for «Out Of Memory»
errors (which come in different guises) in the linker, is that the linker
has to pre-allocate memory in contiguous heaps that it then uses as it
links, in the past these heaps could not be adjusted, we had to do a best
guess, so in the new 64-bit linker (and has also been added to the 32-bit
linker) we allowed people to be able adjust the size of these heaps manually
when they needed to. Now the reason why these heaps can be problem is that
not all systems are the same, some people use different software that map
DLLs into the linker’s address space like Windows Hook DLLs, antivirus
software all these DLLs allocate memory INSIDE the linker’s (any application
really) address space and hence has an impact on the size of the heaps the
linker can allocate. So we added this ability to adjust the heaps manually,
but we also allocated the initial heaps quite big .

The 32bit linker has a new switch -GH, see below this is similar to the
ilink64 switch.

The syntax for the switch is:

-GH[heap name]=[number of bytes for the heap]»

This option -GH exists from XE3 Update 1 onwards but evidently is not documented?

To see which heap is out of memory you can try from command line.

MSBuild /p:Platform=Win32 /v:diag XXXX.cbproj

This provides additional information such as:

Overrun on linker heap: code

Linker Heaps


info 0x002d0000 0x0a000000

code 0x000d0000 0x00100000

data 0x00030000 0x08000000

bss 0x08000000 0x08000000

Fatal: Out of memory

The left side of the above output is number of bytes being used at the
moment and on the right the number of bytes allocated for the specific named
heap.

The default heap sizes the linker allocates at start up are:

«system», default size 0x08000000

«info», default size 0x0A000000

«code», default size 0x08000000

«rodata», default size 0x06000000 //readonly data

«data», default size 0x08000000

«bss», default size 0x08000000

«tds», default size 0x0FA00000

When you see the «unknown heap» this is normally the «tds» heap

Example to adjust tds heap to 0x0A000000 you would do -GHtds=0x0A000000

Hopefully this information helps you and others with the LME288 error.

 

 Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 21:27 


24/01/22
56

main.cpp

#pragma hdrstop
#pragma argsused

#ifdef _WIN32
#include <tchar.h>
#else
  typedef char _TCHAR;
  #define _tmain main
#endif

#include <stdio.h>
#include <iostream>
#include <conio.h>
#include «List.h»
int _tmain(int argc, _TCHAR* argv[])
{
        List<int> c;

        getch();
        return 0;
}

List.h

//—————————————————————————

#ifndef ListH
#define ListH

#include<iostream>
template<typename T>
class List
{
        private:
    class _Node
        {
        public:
                _Node* m_next; //Указатель на следующий эл-т
                _Node* m_prev; //Указатель на предыдущий эл-т
                T m_data; //Значение эл-та

                _Node(T data = T{}, _Node* prev = nullptr, _Node* next = nullptr)
                        :m_data{ data }, m_prev{ prev }, m_next{ next }
                {
                }
        };

        _Node* m_first; //Указатель на первый эл-т списка
        _Node* m_last; //Указатель на последний эл-т списка
        int m_size;

    public:

        class Iterator
        {
        private:
                _Node* m_current;

        public:
                Iterator(_Node* first) : m_current{ first }
                {
                }

                T& operator++();
                T operator++(int);

                T& operator();
                T operator(int);

                bool  operator==(const Iterator& it);
                bool  operator!=(const Iterator& it);
                T& operator*();

        };

        List();
        ~List();

        friend std::ostream& operator<< (std::ostream& out, const List<T>& list);

        friend std::istream& operator>> (std::istream& in, List<T>& list);

        //Поместить эл-т в конец списка
        void pushBack(T el);
        //Убрать эл-т из конца списка
        void popBack();

        //Добавить эл-т в начало списка
        void pushFront(T el);
        //Удалить эл-т из начала списка
        void popFront();

        Iterator begin() const{ return m_first; }
        Iterator end() const{ return nullptr; }

        //Удаление i эл-та
        void remove(Iterator& i);
};
#endif

List.cpp

//—————————————————————————

#pragma hdrstop

#include «List.h»
template<typename T>
List<T>::List()
        : m_size{ 0 }, m_first{ nullptr }, m_last{ nullptr }
{

}

template <typename T>
List<T>::~List()
{
        //Удаление эл-тов, пока список не станет пустым
        _Node* k{ };
        for (_Node* i = m_first; i != nullptr;)
        {
                k = i;
                i = i>m_next;
                delete k;
        }
}

#pragma package(smart_init)

Подскажите, что не так? Пишет: «[ilink32 Error] Error: Unresolved external ‘List<int>::List<int>()’ referenced from C:USERS…», «Error: Unable to perform link»

Профиль  

zykov 

 Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 21:49 


18/09/21
1234

В конце «List.cpp» добавить

template class List<int>;

Или перенести конструктор и деструктор из «List.cpp» в «List.h».

Профиль  

XeuTeP_KoLLIu 

Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:08 


24/01/22
56

В конце «List.cpp» добавить

template class List<int>;

Или перенести конструктор и деструктор из «List.cpp» в «List.h».

Спасибо, это помогло. Но почему так странно?

Профиль  

zykov 

Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:21 


18/09/21
1234

Ничего странного.
Это же шаблон (template).
Пока не создан instance, то для его функций нет кода.

Первый вариант явно создаёт instance для типа int прямо в List.cpp, с которым потом можно слинковаться.

Второй вариант — пернос всего в заголовок — делает доступным полное описание методов во всех исходниках, где включен этот заголовок. Там и линковаться не надо. Код будет сгенерирован при использовании обекта типа int (или какого другого).

Профиль  

XeuTeP_KoLLIu 

 Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:24 


24/01/22
56

Ничего странного.
Это же шаблон (template).
Пока не создан instance, то для его функций нет кода.

Первый вариант явно создаёт instance для типа int прямо в List.cpp, с которым потом можно слинковаться.

Второй вариант — пернос всего в заголовок — делает доступным полное описание методов во всех исходниках, где включен этот заголовок. Там и линковаться не надо. Код будет сгенерирован при использовании обекта типа int (или какого другого).

До этого я писал в visual studio, и ничего такого не требовалось.

— 09.02.2023, 22:27 —

Погодите, разве это не костыль? Смысл же шаблона в том, что я не знаю какой будет использоваться тип данных, а тут я явно указываю, что это — int.

— 09.02.2023, 22:32 —

Я дописал operator >> и operator <<. Выдается та же самая ошибка
[ilink32 Error] Error: Unresolved external ‘operator >>(std::basic_istream<char, std::char_traits<char> >&, List<int>&)’ referenced from C:USERS
Перенес все из List.cpp в List.h. Не помогло. В visual studio все работает нормально.

Профиль  

zykov 

Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:32 


18/09/21
1234

Нет, это фича языка.
Хотите для любого типа — пишите всё в заголовке. Плата за это, каждый раз это должно заново компилироваться.
Хотите скомпилировать один раз и потом линковать, делайте Explicit instantiation.
Никто не мешает сделать для нескольких типов вроде:

template class List<int>;
template class List<double>;
template class List<float>;

Профиль  

XeuTeP_KoLLIu 

Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:34 


24/01/22
56

А если пользователь захочет создать список со своим типом данных?

Профиль  

zykov 

Re: Ошибка Unresolved external. c++ builder 10.4

Сообщение09.02.2023, 22:37 


18/09/21
1234

Точно так же можно сделать:

template class List<TMyType>;

Только нужно туда заголовок подключить с этим своим типом.

Профиль  

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    [!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь

    >
    Не устанавливается компонент ActiveX Flash
    , Пишет «[ILINK32 Error] Error: Unable to perform link»

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    27.10.09, 08:40

      Newbie

      Уже всё перепробовал, в 5 C++ Builder-е всё работает, в 2010 RAD Studio выдает ошибку… в 2009 тоже пробовал… Не пашет!!!
      Инфу из: http://forum.sources.ru/index.php?showtopic=269838&hl=flash читал, не помогло…
      Очень хочу перейти на РАД Студию, но эта гадская ошибка всё портит… Если кто сталкивался, отпишитесь пожалуйста…

      Вот полный текст ошибки:

      ExpandedWrap disabled

        Checking project dependencies…

        Compiling Flash4.cbproj (Debug configuration)

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::RemoteInvokeEx(long, unsigned long, unsigned long, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, Shockwaveflashobjects_tlb::IServiceProvider *, unsigned int, unsigned int *, tagVARIANT *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)’ referenced from D:DOCSRAD STUDIOPROJECTSDEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

        [ILINK32 Error] Error: Unable to perform link

        Failed

        Elapsed time: 00:00:25.9

      Мож чё в настройках проекта поправить?

      Сообщение отредактировано: bpiter — 27.10.09, 08:44


      bpiter



      Сообщ.
      #2

      ,
      28.10.09, 18:03

        Newbie

        Море ответов… Ясно… Никаких решений по обходу ошибки компиляции компонентов нет…
        Уже убил RAD Studio и поставил 6-тую версию Билдера. Всё работает.


        Kitty



        Сообщ.
        #3

        ,
        28.10.09, 18:45

          Цитата bpiter @ 28.10.09, 18:03

          Никаких решений по обходу ошибки компиляции компонентов нет…

          Есть.
          Когда я не смогла установить ActiveX MapX в среду С++ Builder 2007, причем он прекрасно работал в С++ Builder 6, я задала вопрос в тех. поддрежку и получила исчерпывающий рецепт и все получилось. Думаю и вам поможет задать туда вопрос: http://qc.embarcadero.com/wc/qcmain.aspx?da=440

          Сообщение отредактировано: Kitty — 28.10.09, 18:45


          bpiter



          Сообщ.
          #4

          ,
          28.10.09, 19:36

            Newbie

            Хм… Ладно спасибо, за ответ… Правда я пока не силен в англицком…
            В общем из ответа вам техподдержки я понял, что RAD-овский Билдер, неправильно переназывает строки в исходнике, или делает синтаксические ошибки…
            Похоже перенесу вопрос еще и в ветку с JAVA … :yes-sad:

            Guru

            volvo877



            Сообщ.
            #5

            ,
            28.10.09, 20:08

              Вот тут приведен Workaround: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482

              Описываешь все 8 методов, на которых линкер выдает ошибки, как inline и устанавливаешь дальше. Все работает, только что проверил (BDS 2009)


              bpiter



              Сообщ.
              #6

              ,
              29.10.09, 11:46

                Newbie

                Спасибо большое! Теперь всё собралось…

                Вот только… Я вижу только контейнер флеша, а сам флеш не загружается даже самым простым способом:

                ExpandedWrap disabled

                     ASD=ExtractFileDir(ParamStr(0))+»\fileflash.swf»;

                     VideoFlash->Movie=ASD;

                     VideoFlash->FrameNum=1;

                     VideoFlash->Play();

                … это в 2010 Билдере…

                Проблема решилась… Сорри, просто нужно было учесть, что теперь компилируется EXE-шник в отдельную папку… :whistle:

                Сообщение отредактировано: bpiter — 29.10.09, 14:10


                bpiter



                Сообщ.
                #7

                ,
                29.10.09, 14:28

                  Newbie

                  Кстати, появилась новая проблема…

                  Как внедрить флеш в ресурсы?

                  Раньше прекрасно работал такой способ:

                  1) создаю RC-файл, прописываю в него:

                  ExpandedWrap disabled

                    B_FILE BIG_FILES «fileflash.swf»

                  2) Потом вписываю в начале объявлений в файл Unit1.CPP:

                  ExpandedWrap disabled

                    TResourceStream *res_stream = new TResourceStream(0, «B_FILE», «BIG_FILES»);

                  3) Вписываю в главный файл проекта (или добавляю через ProjectAdd to Project…):

                  ExpandedWrap disabled

                    USERC(«res.rc»);

                  4) Вызываю в нужном месте:

                  ExpandedWrap disabled

                    res_stream->SaveToFile(ASD);

                    delete res_stream;

                  5) И как описано ранее подвязываю к компоненту на форме…

                  Теперь, почему-то выдает ошибку:

                  ExpandedWrap disabled

                    [BCC32 Error] Unit1.cpp(13): E2285 Could not find a match for ‘TResourceStream::TResourceStream(int,const char *,const char *)’

                  Я чето не прописал?

                  Сообщение отредактировано: bpiter — 29.10.09, 14:29

                  Guru

                  volvo877



                  Сообщ.
                  #8

                  ,
                  29.10.09, 17:21

                    Цитата bpiter @ 29.10.09, 14:28

                    Я чето не прописал?

                    Ты забыл, что теперь все Юникодное в Билдере:

                    ExpandedWrap disabled

                      TResourceStream *res_stream = new TResourceStream(0, «B_FILE», L»BIG_FILES»); // <— L заметил?


                    bpiter



                    Сообщ.
                    #9

                    ,
                    30.10.09, 12:39

                      Newbie

                      Спасибо большое. )) Теперь всё заработало!


                      void_main



                      Сообщ.
                      #10

                      ,
                      23.08.20, 14:09

                        Хочу вернуться к теме.
                        Так же самая проблема. 9 ошибок линкера.
                        C++ Builder 10.3 RAD Studio Rio.

                        ExpandedWrap disabled

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetDispID(wchar_t *, unsigned long, long *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::RemoteInvokeEx(long, unsigned long, unsigned long, tagDISPPARAMS *, tagVARIANT *, tagEXCEPINFO *, Shockwaveflashobjects_tlb::IServiceProvider *, unsigned int, unsigned int *, tagVARIANT *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByName(wchar_t *, unsigned long)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::DeleteMemberByDispID(long)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberProperties(long, unsigned long, unsigned long *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetMemberName(long, wchar_t * *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNextDispID(unsigned long, long, long *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                          [ilink32 Error] Error: Unresolved external ‘__stdcall Shockwaveflashobjects_tlb::IDispatchEx::GetNameSpaceParent(IUnknown * *)’ referenced from C:USERSLEVLODOCUMENTSEMBARCADEROSTUDIOPROJECTSWIN32DEBUGSHOCKWAVEFLASHOBJECTS_OCX.OBJ

                        Объявление методов как inline не помогает.

                        Ссылки в интернете на workaround от Embarcadero протухли. Я имею в виду это: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482
                        Может кто-нибудь привести пример что именно делали, как решали?
                        Облазил все и везде. Любая помощь.

                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                        0 пользователей:

                        • Предыдущая тема
                        • Borland C++ Builder/Turbo C++ Explorer
                        • Следующая тема

                        Рейтинг@Mail.ru

                        [ Script execution time: 0,0516 ]   [ 16 queries used ]   [ Generated: 9.02.23, 20:01 GMT ]  

                        На чтение 3 мин. Просмотров 79 Опубликовано 15.12.2019

                        I am trying to develop a dll in C++ builder xe, and I need to parse an XML file and for that I use the parser of C++ builder xe which generate a code that allows me to manipulate the xml file . The problem is I got errors at the compilation caused by generated code. here is what looks like the generated code:

                        the errorsI get is :

                        I think the mistake is the include in one of the generated file causes the problem. any ideas?

                        Содержание

                        1. 1 Answer 1
                        2. Not the answer you’re looking for? Browse other questions tagged xml parsing c++builder or ask your own question.
                        3. Related
                        4. Hot Network Questions

                        1 Answer 1

                        I’ve resolve the probleme by unchecking the linker option «Dynamic RTL», in the project options, and «Link with runtime packages»; in the packages options. I don’t know what is the relationship between this and the intial problem.

                        Not the answer you’re looking for? Browse other questions tagged xml parsing c++builder or ask your own question.

                        Hot Network Questions

                        To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

                        site design / logo © 2019 Stack Exchange Inc; user contributions licensed under cc by-sa 4.0 with attribution required. rev 2019.11.15.35459

                        [ILINK32 Error] Error: Unresolved external ‘TForm1::’ referenced from D:PROGRAMSKURSDEBUGPROJECT1.OBJ
                        [ILINK32 Error] Error: Unable to perform link

                        Впервые сталкиваюсь с подобным. Можете объяснить, отчего это?

                        Код TForm1:
                        #include
                        #include
                        #pragma hdrstop

                        struct Notes
                        <
                        char Name[60]; // фамилия имя отчество
                        char Phone[16]; // телефон
                        int Age; // возраст
                        >;

                        //—————————————————————————
                        void __fastcall TForm1::Memo1Change(TObject *Sender)
                        <
                        // Если файл NoteBook.dat не существует, в Меmo1 посылается сообщение
                        if(!FileExists(«NoteBook.dat»))
                        <
                        Memo1->Text=»NoteBook.dat file does not exist»;
                        Button1->Enabled=false;
                        >
                        >
                        //—————————————————————————
                        void __fastcall TForm1::Button1Click(TObject *Sender)
                        <
                        Notes Note1;
                        // Получение значений из полей ввода
                        if((Edit1->Text!=»»)&&(Edit2->Text!=»»)&&(Edit3->Text!=»»))
                        temp=Edit1->Text;
                        strcpy(Note1.Name, temp.c_str());
                        temp=Edit3->Text;
                        strcpy(Note1.Phone, temp.c_str());
                        Note1.Age=Edit2->Text.ToInt();

                        // открытие файла для чтения
                        fstream file(«NoteBook.dat», ios::binary | ios::in | ios::out);
                        char str[80];
                        file.seekg(0); //указатель на первую запись

                        Окончательно запутался. Я так понял, TForm1 потерялся и попутался.

                        Добавляю:
                        __fastcall TForm1::TForm1(TComponent* Owner)
                        : TForm(Owner)
                        <
                        // Если файл NoteBook.dat не существует, в Меmo1 посылается сообщение
                        if(!FileExists(«NoteBook.dat»))
                        <
                        Memo1->Text=»Файл NoteBook.dat не существует»;
                        Button1->Enabled=false;
                        >
                        >

                        Он мне выдает: [BCC32 Error] Unit1.cpp(27): E2136 Constructor cannot have a return type specification выделяя : TForm(Owner)

                        Иногда, при компиляции проектов, в RAD STUDIO С++ программа не запускается, пишет ошибку. Вы проверяете проект. Код правильный, но ошибка все равно есть и ругается ilink32 Error.

                        Например, такие ошибки:

                        [ILINK32 Error] Error: Unresolved external

                        [ILINK32 Warning] Warning: Public symbol

                        [ILINK32 Error] Error: Unresolved external

                        [ILINK32 Error] Error: Unable to perform link

                        Данная проблема связана с самим файлом ilink32.exe

                        Чтобы больше не «танцевать с бубном», есть пропатченные файлы для RAD STUDIO 10.

                        Для RAD STUDIO 10 B erlin: https://cloud.mail.ru/public/LQg5/noJRD9C46 (файл ilink32-10.1.exe переименовать в ilink32.exe и скопировать в папку с заменой)

                        Файл ilink32.exe в RAD STUDIO 10 лежит тут:

                        для 64 битной ОС

                        C:Program Files (x86)EmbarcaderoStudio17.0in

                        Понравилась статья? Поделить с друзьями:
                      • Immergas ошибка е38
                      • Ilife w400 ошибка
                      • Immergas ошибка е10 как исправить
                      • Ilife v8s ошибка e41
                      • Immergas ошибка e44