Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание и импорт dll в С++ Builder 2010 
:(
    Опции темы
vinceras
Дата 25.2.2010, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 25.2.2010

Репутация: нет
Всего: нет



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

1.
Код

//---------------------------------------------------------------------------
 
#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. в обработчике "при создании формы" вызываю её:

Код

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\RAD Studio\Projects\MyMath\ProjectMyMath.cbproj" (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:\p rogram files\embarcadero\rad studio\7.0\include";"c:\program files\embarcadero\rad studio\7.0\include\dinkumware";"c:\program files\embarcadero\rad studio\7.0\include\vcl";"C:\Program Files\Embarcadero\RAD Studio\7.0\include\boost_1_39";"c:\program 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\Public\Docum ents\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\Public\Docum ents\RAD Studio\7.0\DCP" -lDebug -v -GA"C:\Users\836D~1\AppData\Local\Temp\vfs611.tmp"= "C:\Users\Администратор\Documents\RAD Studio\Projects\MyMath\ProjectMyMath.res" -GA"C:\Users\836D~1\AppData\Local\Temp\vfs622.tmp"= "C:\Users\Администратор\Documents\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\vfs611.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


Так и не нашёл решение проблемы. Если кто знает, прошу помочь. Очень надо! Буду очень благодарен!
PM MAIL   Вверх
xvr
Дата 26.2.2010, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



А что за 'ebug' в конце строки вот тут -
Цитата

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;

Похоже битый файл проекта

У BCB (еще со времен 1.0) периодически слетали настройки путей в проекте, видимо embarcadero тут ничего не поменяло  smile 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.