Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

gmp-lib & builder c++

48K
11 мая 2009 года
amiserio
4 / / 11.05.2009
доброго времени суток. срочно нужно прикрутить gmp к builder-у, помогите пожалуйста.
взял с сайта: http://cs.nyu.edu/exact/core/gmp/
dynamic GMP library and header file for MinGW: gmp-dynamic-mingw-4.1.tar.gz
в архиве присутствуют: libgmp-3.dll, gmp.h, .info файлы
коммандой implib.exe -a -f libgmp-3.lib libgmp-3.dll создал libgmp-3.lib
кинул libgmp-3.lib, libgmp-3.dll, gmp.h в папку проекта
добавил libgmp-3.lib в проект через Project->Add to project
в коде добавил :
 
Код:
#include "gmp.h"
#pragma link "libgmp-3.lib"


на попытку скомпилировать проект выдаёт:
Код:
[BCC32 Error] gmp.h(493): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(522): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(545): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(556): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(812): E2303 Type name expected
[BCC32 Error] gmp.h(817): E2303 Type name expected
[BCC32 Error] gmp.h(885): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(890): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(1095): E2303 Type name expected
[BCC32 Error] gmp.h(1114): E2147 'FILE' cannot start a parameter declaration
[BCC32 Error] gmp.h(1259): E2303 Type name expected
[BCC32 Error] gmp.h(1279): E2147 'FILE' cannot start a parameter declaration
[BCC32 Warning] gmp.h(1565): W8041 Negating unsigned value
[BCC32 Error] main.cpp(26): E2268 Call to undefined function 'gmp_randinit_mt'

подскажите пожалуйста, что я сделал неправильно иил как правильно подключить данную либу.
1
12 мая 2009 года
kot_
7.3K / / 20.01.2000
Цитата: amiserio

коммандой implib.exe -a -f libgmp-3.lib libgmp-3.dll создал libgmp-3.lib


перед этим вам необходимо использовать утилиту
coff2omf libgmp-3.dll libgmp-bcb-3.dll
а уж потом
implib.exe -a -f libgmp-bcb-3.lib libgmp-bcb-3.dll
и соотвественно работать с данной библиотекой.
Скорей всего причина в этом. Ну и проверьте в заголовочном файле макросы.

48K
14 мая 2009 года
amiserio
4 / / 11.05.2009
Цитата: kot_
перед этим вам необходимо использовать утилиту
coff2omf libgmp-3.dll libgmp-bcb-3.dll


получаю такой ответ:

 
Код:
COFF to OMF Converter Version 1.0.0.74 Copyright (c) 1999, 2000 Inprise Corporat
ion
ERROR: COFF error: libgmp-3.dll
  (coffread.cpp, 1502) : invalid machine type detected
48K
14 мая 2009 года
amiserio
4 / / 11.05.2009


читал, дело было не в этом, а в настройках проекта в 2009-м билдере.
теперь получил другую проблему - в зависимости от того какой Implib использовать bcb 2009 выводит либо

Цитата:
[ILINK32 Error] Error: Unresolved external '___gmpz_init' referenced from C:\LP CRYPTO\RELEASE\MAIN.OBJ


если использую implib (-a -c или -a -f) от bcb 2009, либо

Цитата:
Ошибка при инициализации приложения (0xc0150002)


или

Цитата:
Access violation at adress XXXXXXX in module 'libgmp-3.dll'. Write of address 00000000


(программа запускается) если использую Implib от bcb 6.

создал новый в bcb6, взял длл и хидер отсюда, импортировал lib файл implib-ом с флагами -a -c, всё скомпилировалось, запустилось, но при нажатии кнопки(в обработчике которой используется обьявление переменной и использование функции gmp) получаю:

Цитата:
Access violation at adress XXXXXXX in module 'libgmp-3.dll'. Write of address 00000000.


проект для bcb6:

14
15 мая 2009 года
Phodopus
3.3K / / 19.06.2008
Угу, продолжайте и дальше ей неинициализированные указатели передавать...
48K
15 мая 2009 года
amiserio
4 / / 11.05.2009
Цитата: Phodopus
Угу, продолжайте и дальше ей неинициализированные указатели передавать...


всё понял, благодарю. тема исчерпана.

42K
06 марта 2010 года
QWER_WERT
13 / / 04.02.2009
Через Google нашел уже созданную тему поэтому тут и задаю вопрос

Мне необходимо GMP прикрутить к c++ builder 2009
Мои попытки не увенчались успехом, поэтому вопрос и задаю

1. Скачал с http://cs.nyu.edu/exact/core/gmp/ static-vc-4.1.2 там файл gmp.lib его конвертировал программкой coff2omf в результате получал файл размером меньше 1 Кб =(
2. Скачал от туда же dynamic-vc, но implib обработать не удалось
3. Качал из 5 поста файл gmp_proj, но после подключение к новому проекту, программа запустилась, но произошло прерывание.

Вобщем может кто-нибудь поможет собрать данную библиотеку под C++ Bulder 2009, мне ооочень надо и ооочень срочно =)
Заранее спасибо!!!
1
07 марта 2010 года
kot_
7.3K / / 20.01.2000
вы тему внимательно прочли?
42K
07 марта 2010 года
QWER_WERT
13 / / 04.02.2009
Да прочел внимательно
Приложение из поста 5 не работает так как необходима еще *.dll, а это мне не годиться так как у меня ее нет и мне надо только статическую сборку, без dll.
Поэтому я думаю либо с http://cs.nyu.edu/exact/core/gmp/ попытаться еще раз конвертировать в builder lib
либо с http://www.mpir.org/ (это тоже самое что и GMP, просто название другое) собрать в Builder-e
42K
07 марта 2010 года
QWER_WERT
13 / / 04.02.2009
http://www.mpir.org/ вот отсюда скачал код библиотеки mpir. Под Studio она собралась нормально.
Далее все это решил собрать в билдере. Библиотека собралась но
 
Код:
mpz_t n;
 mpz_init (n);

такой код работает, но код:
 
Код:
mp_limb_t cy_limb = mpn_mul_1 (0, 0, 0, 0);

не собирается так как Unresolved external '___gmpn_mul_1'

Огромная просьба помочь в чем дело и почему так происходит. Вот архив с кодом библиотеки http://webise.jino.ru/mpir_cbd2.rar
1
07 марта 2010 года
kot_
7.3K / / 20.01.2000
Цитата: QWER_WERT
Да прочел внимательно
Приложение из поста 5 не работает так как необходима еще *.dll, а это мне не годиться так как у меня ее нет и мне надо только статическую сборку, без dll.
Поэтому я думаю либо с http://cs.nyu.edu/exact/core/gmp/ попытаться еще раз конвертировать в builder lib
либо с http://www.mpir.org/ (это тоже самое что и GMP, просто название другое) собрать в Builder-e


что в вашем понимании только статическую сборку, без dll? Если у вас нет длл - что статическая что динамическая работать не будет

42K
07 марта 2010 года
QWER_WERT
13 / / 04.02.2009
Цитата:
Если у вас нет длл - что статическая что динамическая работать не будет



статическая - я имел ввиду *.lib файл. Я собирал под Visual Studio *.lib файлы так что в сам *.lib файл прописан программный код и при запуске приложение *.lib файл как бы становится содержимым программы и *.dll файл не требуется. На то *.lib файл и есть, что бы при запуске не требовать *.dll IMXHO

1
08 марта 2010 года
kot_
7.3K / / 20.01.2000
У вас жар? Может вы датите себе труд прочесть что нибудь для начинающих, вместо того, что бы фантазировать?
42K
08 марта 2010 года
QWER_WERT
13 / / 04.02.2009
Цитата:
У вас жар? Может вы датите себе труд прочесть что нибудь для начинающих, вместо того, что бы фантазировать?



У меня как раз жара нет. Если не верите специально собрал проект. Посмотрите во вложении. Как видно при сборке и после нее *.dll не требуется так как используется *.lib файл

1
09 марта 2010 года
kot_
7.3K / / 20.01.2000
будет время завтра гляну. вчера не заметил сообщения.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог