| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > экспорт и импорт функций в lib файлах |
| Автор: cyberTransMutant 18.5.2008, 12:40 | ||||
| обьясните пожалуйста, как экспортировать и импортировать либы в разных средах, на данный момент знаю что есть 2 формата либ coff и omf, знаю как импортировать функции из либ в vc2005 (нужен coff) и в билдер (omf), вот например простой пример импорта и использования функции из либы:
(если захотите проверить testLIB_omf.lib и testLIB_coff.lib есть в приложении) MinGW кажется использует omf формат но с импортом либ в нем у меня проблема
как отключить в MinGW этот "ignoring"? как экспортировать функции? гдето слышал что можно экспортировать и классы? или это тока в длл? |
| Автор: cyberTransMutant 18.5.2008, 13:47 |
| если кто знает скажите как экспортировать функцию в либ файл в знакомой для вас среде, нужен просто напросто пример как это все оформляется в одном месте, далее будет понятно что нужно делать/искать в других средах |
| Автор: bsa 18.5.2008, 17:10 | ||
В билдере:
|
| Автор: palva 19.5.2008, 20:41 |
| > обьясните пожалуйста, как экспортировать и импортировать либы в разных средах, Либы - это что такое? Экспортировать можно имена из динамически загружаемых библиотек dll То что вы написали это не экспорт. Это подключение к программе библиотеки с расширением lib. |
| Автор: bsa 20.5.2008, 11:47 | ||||
cyberTransMutant
можно и так:
|
| Автор: Rififi 20.5.2008, 12:24 |
| cyberTransMutant, для подключения в проекту lib-файла никакие директивы __export/__import не нужны (если это настоящий lib, а не библиотека импорта сделанная из dll) |
| Автор: cyberTransMutant 22.5.2008, 09:14 |
| спасиб bsa, ток вариант коммандной строки не совсем то, просто если надо будет включать и выключать некоторое количество либ файлов в проект это немного неудобно, а нельзя также что то в командной строке прописать чтоб он не игнорировал прагму? |
| Автор: bsa 22.5.2008, 11:56 | ||
Я знаю, что неудобно. Но mingw пользоваться без IDE невозможно не из командной строки, как и другим компилятором. Так как ты не указал, что у тебя за IDE, то я взял на себя смелость предположить, что компилируешь из консоли. Можно в командной строке прописать ключик, что не будут выводиться предупреждения по поводу игнорирования прагмы. Так же можно в командной строке изменить имя вызываемого компилятора на тот, который понимает эту прагму. Например, bcc32. Так же можно написать простенький Makefile, который будет обрабатываться командой mingw32-make.exe и выполнять инструкции, указанные в нем. |
| Автор: cyberTransMutant 27.5.2008, 09:40 |
| >Можно в командной строке прописать ключик, что не будут выводиться предупреждения по поводу игнорирования прагмы. не будут выводиться предупреждения - эт бессмысленно ведь прагма всеравно учитываться не будет, >Так же можно в командной строке изменить имя вызываемого компилятора на тот, который понимает эту прагму. нет нужен именно minGW, желательно тот который идет вместе с MinGWDevstudio2.05: - gcc 3.3.1 (20030804-1) (C/C++ only) - binutils 2.14.90 (20030807-1) - mingw runtime 3.2 - w32api 2.4 - gdb 6.0 (20031011) - gnu make 3.80.0-3 - some useful utilities (flex, bison ...) и,bsa незнаете планируют ли в последних версиях minGW включить поддержку прагм? |
| Автор: bsa 27.5.2008, 10:26 |
| cyberTransMutant, боюсь ты не понял юмора. #pragma поддерживается всеми компиляторами. Но стандарта на нее нет, поэтому у каждого компилятора она работает посвоему. О вообще забудь о прагме - это непереносимое решение. Подключай библиотеки через настройки проекта. |
| Автор: cyberTransMutant 28.5.2008, 22:52 |
| Спасибо bsa это кокраз то что хотел услышать! тема закрыта! |