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 |
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 |
Супер-модератор 32451 / 20945 / 8105 Регистрация: 22.10.2011 Сообщений: 36,213 Записей в блоге: 7 |
|
21.07.2016, 23:29 |
5 |
Мне помогает вот это решение: Не компилируется проект на RAD XE 10 («Error detected (LME288)») (без выполнения пункта №2, то есть очистки TEMP, работать не будет, тут весь смысл — именно в очистке старых tmp-файлов, именно в них что-то не то записывается, что потом при компиляции выливается в
0 |
46 / 20 / 5 Регистрация: 29.12.2015 Сообщений: 1,771 |
|
22.07.2016, 01:27 [ТС] |
6 |
Удалил папку __history. Помогло. Добавлено через 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
|
24/01/22 |
main.cpp #pragma hdrstop #ifdef _WIN32 #include <stdio.h> getch(); List.h //————————————————————————— #ifndef ListH #include<iostream> _Node(T data = T{}, _Node* prev = nullptr, _Node* next = nullptr) _Node* m_first; //Указатель на первый эл-т списка public: class Iterator public: T& operator++(); T& operator—(); bool operator==(const Iterator& it); }; List(); friend std::ostream& operator<< (std::ostream& out, const List<T>& list); friend std::istream& operator>> (std::istream& in, List<T>& list); //Поместить эл-т в конец списка //Добавить эл-т в начало списка Iterator begin() const{ return m_first; } //Удаление i эл-та List.cpp //————————————————————————— #pragma hdrstop #include «List.h» } template <typename T> #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
|
18/09/21 |
В конце «List.cpp» добавить template class List<int>; Или перенести конструктор и деструктор из «List.cpp» в «List.h».
|
|
|
XeuTeP_KoLLIu |
Re: Ошибка Unresolved external. c++ builder 10.4
|
24/01/22 |
В конце «List.cpp» добавить template class List<int>; Или перенести конструктор и деструктор из «List.cpp» в «List.h». Спасибо, это помогло. Но почему так странно?
|
|
|
zykov |
Re: Ошибка Unresolved external. c++ builder 10.4
|
18/09/21 |
Ничего странного. Первый вариант явно создаёт instance для типа int прямо в List.cpp, с которым потом можно слинковаться. Второй вариант — пернос всего в заголовок — делает доступным полное описание методов во всех исходниках, где включен этот заголовок. Там и линковаться не надо. Код будет сгенерирован при использовании обекта типа int (или какого другого).
|
|
|
XeuTeP_KoLLIu |
Re: Ошибка Unresolved external. c++ builder 10.4
|
24/01/22 |
Ничего странного. Первый вариант явно создаёт instance для типа int прямо в List.cpp, с которым потом можно слинковаться. Второй вариант — пернос всего в заголовок — делает доступным полное описание методов во всех исходниках, где включен этот заголовок. Там и линковаться не надо. Код будет сгенерирован при использовании обекта типа int (или какого другого). До этого я писал в visual studio, и ничего такого не требовалось. — 09.02.2023, 22:27 — Погодите, разве это не костыль? Смысл же шаблона в том, что я не знаю какой будет использоваться тип данных, а тут я явно указываю, что это — int. — 09.02.2023, 22:32 — Я дописал operator >> и operator <<. Выдается та же самая ошибка
|
|
|
zykov |
Re: Ошибка Unresolved external. c++ builder 10.4
|
18/09/21 |
Нет, это фича языка. template class List<int>;
|
|
|
XeuTeP_KoLLIu |
Re: Ошибка Unresolved external. c++ builder 10.4
|
24/01/22 |
А если пользователь захочет создать список со своим типом данных?
|
|
|
zykov |
Re: Ошибка Unresolved external. c++ builder 10.4
|
18/09/21 |
Точно так же можно сделать: template class List<TMyType>; Только нужно туда заголовок подключить с этим своим типом.
|
|
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы
|
|
|
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Не устанавливается компонент ActiveX Flash
, Пишет «[ILINK32 Error] Error: Unable to perform link»
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Newbie |
Уже всё перепробовал, в 5 C++ Builder-е всё работает, в 2010 RAD Studio выдает ошибку… в 2009 тоже пробовал… Не пашет!!! Вот полный текст ошибки: 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 |
|
Newbie |
Море ответов… Ясно… Никаких решений по обходу ошибки компиляции компонентов нет… |
Kitty |
|
Цитата bpiter @ 28.10.09, 18:03 Никаких решений по обходу ошибки компиляции компонентов нет… Есть. Сообщение отредактировано: Kitty — 28.10.09, 18:45 |
bpiter |
|
Newbie |
Хм… Ладно спасибо, за ответ… Правда я пока не силен в англицком… |
volvo877 |
|
Вот тут приведен Workaround: http://qc.embarcadero.com/wc/qcmain.aspx?d=23482 Описываешь все 8 методов, на которых линкер выдает ошибки, как inline и устанавливаешь дальше. Все работает, только что проверил (BDS 2009) |
bpiter |
|
Newbie |
Спасибо большое! Теперь всё собралось… Вот только… Я вижу только контейнер флеша, а сам флеш не загружается даже самым простым способом: ASD=ExtractFileDir(ParamStr(0))+»\fileflash.swf»; VideoFlash->Movie=ASD; VideoFlash->FrameNum=1; VideoFlash->Play(); … это в 2010 Билдере… Проблема решилась… Сорри, просто нужно было учесть, что теперь компилируется EXE-шник в отдельную папку… Сообщение отредактировано: bpiter — 29.10.09, 14:10 |
bpiter |
|
Newbie |
Кстати, появилась новая проблема… Как внедрить флеш в ресурсы? Раньше прекрасно работал такой способ: 1) создаю RC-файл, прописываю в него: B_FILE BIG_FILES «fileflash.swf» 2) Потом вписываю в начале объявлений в файл Unit1.CPP: TResourceStream *res_stream = new TResourceStream(0, «B_FILE», «BIG_FILES»); 3) Вписываю в главный файл проекта (или добавляю через ProjectAdd to Project…): USERC(«res.rc»); 4) Вызываю в нужном месте: res_stream->SaveToFile(ASD); delete res_stream; 5) И как описано ранее подвязываю к компоненту на форме… Теперь, почему-то выдает ошибку: [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 |
volvo877 |
|
Цитата bpiter @ 29.10.09, 14:28 Я чето не прописал? Ты забыл, что теперь все Юникодное в Билдере: TResourceStream *res_stream = new TResourceStream(0, «B_FILE», L»BIG_FILES»); // <— L заметил? |
bpiter |
|
Newbie |
Спасибо большое. )) Теперь всё заработало! |
void_main |
|
Хочу вернуться к теме. [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
- Следующая тема
[ 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 Answer 1
- Not the answer you’re looking for? Browse other questions tagged xml parsing c++builder or ask your own question.
- Related
- 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