Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.02.2010
Сообщений: 3

Создание и импорт dll в С++ Builder 2010

25.02.2010, 22:22. Показов 2057. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Только приступил к освоению c++ и наткнулся на следующую проблему. Для эксперимента использовал пример из книги. Создал dll. Ниже её код:

1.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <math.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
//   Important note about DLL memory management when your DLL uses the
//   static version of the RunTime Library...и бла,бла,бла - комменты билдера
//---------------------------------------------------------------------------
 
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
    return 1;
}
__declspec (dllexport) double Sin2( double a)
{
    return sin(2*a);
}
//---------------------------------------------------------------------------
2. Откомпилировал, в папке debug появилась dll и lib.
3. Создал новый проект. В заголовочном фале прописал:

__declspec (dllimport) double Sin2 (double a);

4. в обработчике "при создании формы" вызываю её:

C
1
2
3
4
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    Sin2(3.14);
}
4. Добавляю в проект lib-файл.
5. Компилирую и получаю ошибку. На вкладке build окна messages:

Checking project dependencies...
Compiling ProjectMyMath.cbproj (Debug configuration)
[ILINK32 Error] Fatal: Unable to open file 'ⱼ&洎瞅琈瞅驊眯冊Ÿ눺E.OBJ'
Failed
Elapsed time: 00:00:04.1

6. На вкладке output окна messages:

Build started 25.02.2010 22:16:22.
________________________________________ __________
Project "C:\Users\Администратор\Documents\RA D Studio\Projects\MyMath\ProjectMyMath.cbp roj" (Make target(s)):
Target MakeObjs:
Target _CppDepCheck:
Skipping: ProjectMyMath.cpp
Modified: UnitMyMath.cpp
Target CppCompile:
Target _CppCoreCompile:
c:\program files\embarcadero\rad studio\7.0\bin\bcc32.exe -D_DEBUG -D_RTLDLL;USEPACKAGES -I"C:\Program Files\Embarcadero\RAD Studio\7.0\include\boost_1_39\boost\tr1\ tr1";"c:\program files\embarcadero\rad studio\7.0\include";"c:\program files\embarcadero\rad studio\7.0\include\dinkumware";"c:\progr am files\embarcadero\rad studio\7.0\include\vcl";"C:\Program Files\Embarcadero\RAD Studio\7.0\include\boost_1_39";"c:\progr am files\embarcadero\rad studio\7.0\ObjRepos\Cpp";"c:\program files\embarcadero\rad studio\7.0\include\Indy10";"c:\program files\embarcadero\rad studio\7.0\RaveReports\Lib" -y -Q -k -r- -c -tWM -tW -C8 -oDebug\UnitMyMath.obj -w-par -Od -v -vi- -H=Debug\ProjectMyMath.pch -H UnitMyMath.cpp
Target _PerformLink:
c:\program files\embarcadero\rad studio\7.0\bin\ilink32.exe -LDebug;"c:\program files\embarcadero\rad studio\7.0\lib\debug"ebug;"c:\program files\embarcadero\rad studio\7.0\lib";"c:\program files\embarcadero\rad studio\7.0\lib\obj";"c:\program files\embarcadero\rad studio\7.0\lib\psdk";"c:\program files\embarcadero\rad studio\7.0\lib";"c:\program files\embarcadero\rad studio\7.0\lib\psdk";"c:\program files\embarcadero\rad studio\7.0\lib\Indy10";"c:\program files\embarcadero\rad studio\7.0\RaveReports\Lib";"C:\Users\Pu blic\Documents\RAD Studio\7.0\DCP" -jDebug;"c:\program files\embarcadero\rad studio\7.0\lib\debug"ebug;"c:\program files\embarcadero\rad studio\7.0\lib";"c:\program files\embarcadero\rad studio\7.0\lib\obj";"c:\program files\embarcadero\rad studio\7.0\lib\psdk";"c:\program files\embarcadero\rad studio\7.0\lib";"c:\program files\embarcadero\rad studio\7.0\lib\psdk";"c:\program files\embarcadero\rad studio\7.0\lib\Indy10";"c:\program files\embarcadero\rad studio\7.0\RaveReports\Lib";"C:\Users\Pu blic\Documents\RAD Studio\7.0\DCP" -lDebug -v -GA"C:\Users\836D~1\AppData\Local\Temp\vf s611.tmp"="C:\Users\Администратор\Docume nts\RAD Studio\Projects\MyMath\ProjectMyMath.res " -GA"C:\Users\836D~1\AppData\Local\Temp\vf s622.tmp"="C:\Users\Администратор\Docume nts\RAD Studio\Projects\MyMath\UnitMyMath.dfm" -aa -V5.0 -G8 c0w32 rtl.bpi vcl.bpi memmgr.lib sysinit.obj Debug\UnitMyMath.obj Debug\ProjectMyMath.obj , Debug\ProjectMyMath.exe , Debug\ProjectMyMath.map , MyMath.lib import32.lib cp32mti.lib , , "C:\Users\836D~1\AppData\Local\Temp\vfs6 11.tmp"
c:\program files\embarcadero\rad studio\7.0\Bin\CodeGear.Cpp.Targets(2175 ,3): error : Fatal: Unable to open file 'ⱼ&洎瞅琈瞅驊眯冊Ÿ눺E.OBJ'
Done building target "_PerformLink" in project "ProjectMyMath.cbproj" -- FAILED.
Done building project "ProjectMyMath.cbproj" -- FAILED.
Build FAILED.
c:\program files\embarcadero\rad studio\7.0\Bin\CodeGear.Cpp.Targets(2175 ,3): error : Fatal: Unable to open file 'ⱼ&洎瞅琈瞅驊眯冊Ÿ눺E.OBJ'
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:03.94


Так и не нашёл решение проблемы. Если кто знает, прошу помочь. Очень надо! Буду очень благодарен!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.02.2010, 22:22
Ответы с готовыми решениями:

Указатели в VC++ (2010) DLL и в приложении C++Builder (RAD XE4)
Здравствуйте! Есть такая ситуация: в приложении происходит вызов функции из библиотеки, в которую надо передать vector&lt;wchar_t*&gt;*. ...

BUILDER 2010\ создание граф. редактора
Здравствуйте! В ходе разработки возникли вопросы как с помощью TBITMAP сделать рисование карандашом?

Программное создание mdb в Builder 2010 с ADO
Информации в нете хоть и много, но она раздроблена. как в 2010 Билдере создать программно базу данных Акцесс, и в ней создать таблицу?...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2010, 22:22
Помогаю со студенческими работами здесь

Неуправляемая DLL библиотека. Импорт, создание класса библиотеки
По курсовой нужно воспользоваться неуправляемой dll. Сразу скажу, возможно много где ошибаюсь в связи с узкими знаниями в этом...

Создание DLL на Visual Studio 2010-12
Если есть у кого видео как создать dll на 10 или 12 студии под c++ буду благодарен если поделитесь.

Создание .dll в MSVC 2010 в чем ошибка?
Проблема в чем.. есть dll с тремя функциями... Скомпилировал и пытался подключить на другом ноуте к проекту... Но не известно по какой...

Как использовать компоненты скомпилированные для C++ Builder 2007 в C++ Builder 2010?
Народ! Такая проблема... Есть набор компонентов т.н. Dicom VCL. Сайт производителя - http://www.medicalconnections.co.uk/. У них на...

Работа с объектами в C++ Builder 2010 (RAD 2010)
Плавно перехожу на программирование в Builder, появляется очень много вопросов по работе со стандартными встроенными объектами (формами). ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru