информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеПортрет посетителяСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Вопрос по GMP 14.02.05 22:45  
Автор: hotice Статус: Незарегистрированный пользователь
Отредактировано 14.02.05 22:48  Количество правок: 1
<"чистая" ссылка>
Вообщем я скачал по адресу http://www.cs.nyu.edu/exact/core/gmp/ готовые библиотеки под VC++, но у меня возникли проблемы когда я попытался откомпилить тестовый пример. Может кто знает как этой штукой пользоваться, а то я с английским не очень дружу.
исправлюсь... 16.02.05 22:07  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Был не прав, исправлюсь…
Ситуация обстоит так: программу пишу в Visual C++ .Net, руководство по использованию GMP изучил, но ответа не нашёл. С указанной ссылки взял gmp-static-vc-4.1.2.zip для Visual C++ 6.0 & Visual C++ .Net
Из руководства взял первую прогу:
void
foo (mpz_t result, const mpz_t param, unsigned long n) {
unsigned long i;
mpz_mul_ui (result, param, n);
for (i = 1; i < n; i++)
mpz_add_ui (result, result, i*7);
}
int main (void) {
mpz_t r, n;
mpz_init (r);
mpz_init_set_str (n, "123456", 0);
foo (r, n, 20L);
gmp_printf ("%Zd\n", r);
return 0;
}
добавил #include <stdio.h>
#include <gmp.h> как сказана в руководстве
и при компиляции получил c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\gmp.h(1565): warning C4146: unary minus operator applied to unsigned type, result still unsigned
gmp-test fatal error LNK1120: 5 unresolved externals
gmp-test error LNK2019: unresolved external symbol __imp____gmpz_mul_ui referenced in function "void __cdecl foo(struct __mpz_struct * const,struct __mpz_struct const * const,unsigned long)" (?foo@@YAXQAU__mpz_struct@@QBU1@K@Z)
gmp-test error LNK2019: unresolved external symbol __imp____gmpz_init_set_str referenced in function _main
gmp-test error LNK2019: unresolved external symbol __imp____gmpz_init referenced in function _main
gmp-test error LNK2019: unresolved external symbol __imp____gmpz_add_ui referenced in function "void __cdecl foo(struct __mpz_struct * const,struct __mpz_struct const * const,unsigned long)" (?foo@@YAXQAU__mpz_struct@@QBU1@K@Z)
gmp-test error LNK2019: unresolved external symbol __imp____gmp_printf referenced in function _main
Я всё таки нашёл ошибку...:) 09.03.05 22:18  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А дело было н в линкере, а в подключеннии gmp.h, вместо #include <gmp.h>, надо поставить #include "gmp.h" и всё начинает работать нормально без ошибок...:)

Всем спасибо большое!:)

P.S.Вё гениальное просто
Подлючить либу надо 17.02.05 11:31  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Для этого либо в текст программы включить строку

#pragma comment(lib, "gmp.lib")

Либо прописать эту либу в настройках

Естественно эту самую gmp.lib надо положить так, чтобы линкер ее нашел (общеIDE-шные пути прописываются в Options..., а пути для конкретного проекта - в его настройках). Для тестовых программок легче всего положить эту либу прямо в каталог с проектом
так видимо библиотеку gmp надо как-то в VC подстегнуть к проекту 17.02.05 09:29  
Автор: LLL <Алексей> Статус: Member
<"чистая" ссылка>
Пробую ... но... 19.02.05 22:42  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вставил в пограмму #Pragma но ничего неизменилось. А когда подключал либу увидел следуюшие в Linker -> Command line:
/OUT:"Debug/gmp-test.exe" /INCREMENTAL /NOLOGO /LIBPATH:"C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib\gmp.lib" /DEF:"C:\WINNT\system32\gmp.lib" /DEBUG /PDB:"Debug/gmp-test.pdb" /SUBSYSTEM:CONSOLE /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "\WINNT\system32\gmp.lib"

но так у меня ни чего и не вышло. Может это из-за того что хоть у меня и MS Visual Studio .Net Но С++ у меня 7.0. В логе на адреса посмотрите
Я бы порекомендовал покурить rtfm [update] 21.02.05 13:02  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 21.02.05 14:02  Количество правок: 1
<"чистая" ссылка>
> Вставил в пограмму #Pragma но ничего неизменилось. А когда
> подключал либу увидел следуюшие в Linker -> Command
> line:
> /OUT:"Debug/gmp-test.exe" /INCREMENTAL /NOLOGO
> /LIBPATH:"C:\Program Files\Microsoft Visual Studio
> .NET\Vc7\lib\gmp.lib" /DEF:"C:\WINNT\system32\gmp.lib"

> /DEBUG /PDB:"Debug/gmp-test.pdb" /SUBSYSTEM:CONSOLE
> /MACHINE:IX86 kernel32.lib user32.lib gdi32.lib
> winspool.lib comdlg32.lib advapi32.lib shell32.lib
> ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
> "\WINNT\system32\gmp.lib"

> но так у меня ни чего и не вышло. Может это из-за того что
> хоть у меня и MS Visual Studio .Net Но С++ у меня 7.0. В
> логе на адреса посмотрите
Как минимум три прогона. В пути к библиотекам указана сама библиотека. Эта же библиотека (но уже в system32) указана в качестве DEF-файла (зачем?). И последняя (не совсем ошибка, но потенциально опасная настройка) - путь к библиотеке указан от корня ТЕКУЩЕГО диска (но тоже почему то в system32) если система и visual studio находятся на одном диске - ничего страшного. Если на разных - линковаться не будет. И во вторых (в том же месте), на фига давать полный путь к библиотеке линкера?

В общем покури мануалы в части работы с линкером и сможешь исправить все сам (сразу скажу, что именно с указанным тобой дистрибутивом gmp из библиотеки core я работал - там все отлично компилится)

------------------

Тем более что тут: http://www.bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=2&m=118642
Я привел достаточно информации для разрешения проблемы
С прогонами всё сделал... 22.02.05 22:16  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вообщем пути я убрал pragm'у оставил, но мануалов у меня нет, вообщем с линкерол я не разобрался ошибки остались... Подскажите какие мануалы, в плане содержания нужны, если не трудно с ссылкой или названием...

З.Ы. Я понял что по линкеру мануал... но что ??? именно
Дык прагму оставить, а либу положить в каталог с проектом (туда где валяются исходники) 23.02.05 11:39  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Как я уже и сказал

> Вообщем пути я убрал pragm'у оставил, но мануалов у меня
> нет, вообщем с линкерол я не разобрался ошибки остались...
> Подскажите какие мануалы, в плане содержания нужны, если не
> трудно с ссылкой или названием...
Мануал по всем виндовым продуктам называется MSDN
Про MSDN знаю, но инет не халявный и я даже не знаю что искать 01.03.05 22:17  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
прагму оставил,либу положил 26.02.05 22:19  
Автор: hotice Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Мануал по всем виндовым продуктам называется MSDN

Прагму оставил и либу в папку кинул, всё равно ошибки у линкера, пробывал с ликером поэксперементировать, но что-то ни чего не вышло :(

Про MSDN знаю, но инет не халявный и я даже не знаю что искать
Я знаю 15.02.05 11:27  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Вообщем я скачал по адресу
> http://www.cs.nyu.edu/exact/core/gmp/ готовые библиотеки
> под VC++, но у меня возникли проблемы когда я попытался
> откомпилить тестовый пример. Может кто знает как этой
> штукой пользоваться, а то я с английским не очень дружу.
Я знаю. И с английским дружу. Еще вопросы есть? За подробностями - по ссылке, данной DamNet-ом
Линк внутри 14.02.05 23:13  
Автор: DamNet <Denis Amelin> Статус: Elderman
<"чистая" ссылка>


Жать мышой сюда
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach