Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Вниз

Lib файл   Найти похожие ветки 

 
Darlok   (2002-04-10 18:41) [0]

Кто - нить побскажет, как можно в Delphi подключить Lib Файл.

А то у меня проблема значит такая:

Создал на CBuildere библиотеку Lib. В ней есть некая функция
int __stdcall MyFunk(int).

Включил ее в проект на Delphi.

И в юните написал:
function MyFunk(x:int):int; stdcall; external "Lib.lib";

Линковщик кричит:

[Linker Error] Unresolved external "MyFunk" referenced from XPOUNIT.OBJ

А если напишу:
function MyFunk(x:int):int; stdcall; external;

То кричит уже компилятор:

[Pascal Error] XPOUnit.pas(826): Unsatisfied forward or external declaration: "MyFunk"

Чего еще делать я уже не знаю :(


 
Darlok   (2002-04-10 18:45) [1]

Может в Lib файле хитро изменяются имена, как VC при экспорте из Dll делает :0)


 
PVOzerski   (2002-04-10 18:51) [2]

Такой синтаксис:
function MyFunk(x:int):int; stdcall; external "Lib.lib";
применим только к dll.
Статические объектные файлы линкуются так:
{$L lib.obj} function MyFunk(x:int):int; stdcall; external;
Но вот статическую библиотеку Вам придется разбирать на объектные файлы вручную и линковать их
по отдельности. И еще: проверьте соответствия public-имен! C++ развлекается тем, что добавляет к имени
служебную информацию, это надо учитывать при объявлении имени в Delphi.


 
SPeller   (2002-04-10 20:23) [3]

Попробуй через LoadLibrary


 
Darlok   (2002-04-11 12:40) [4]

>SPeller © (10.04.02 20:23)
LoadLibrary позволяет только динамически связывать библиотеку, и работает только для Dll но не Lib.

А мне надо статически включить библиотеку в Exe на этапе проектирования. Тобиш чтобы был оди Exeшник а Lib был внутри его.


 
Darlok   (2002-04-11 12:43) [5]

>PVOzerski © (10.04.02 18:51)
А для чего тогда Lib файлы, если их все равно надо бить на Obj


 
Alx2   (2002-04-11 12:50) [6]

Lib - для C


 
PVOzerski   (2002-04-11 15:17) [7]

К тому, что сказал Alx2 © (11.04.02 12:50), можно добавить только пару слов:
1) Если есть основания полагать, что Вам понадобится ВСЯ библиотека, может, её можно
собрать в один obj-файл?
2) А ежели эта самая библиотека еще и стандартные функции C RTL возжаждет? (не универсальная
подсказка на этот случай: опишите их как cdecl; external "crtdll.dll" ; - это часто выручает);
3) А ежели эта самая библиотека еще и в COFF-формате? (тогда её всё равно разбирать и
конвертить...)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-80847
MaxLife
2002-04-12 12:26
2002.04.25
Как вклиниться в оболочку Delphi?


6-81025
shapotkin
2002-02-15 09:51
2002.04.25
Как скачать файл по FTP с применением ProgressBar


1-81001
Chainik
2002-04-12 20:11
2002.04.25
наименование файла в заглавной строке формы


6-81028
kd
2002-01-11 10:13
2002.04.25
Мидас


1-80951
Delfin
2002-04-11 12:35
2002.04.25
как написать не x^2, а x2, где 2 - верхний индекс.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский