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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Я бы порекомендовал покурить rtfm [update] 21.02.05 13:02  Число просмотров: 1686
Автор: 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
Я привел достаточно информации для разрешения проблемы
<programming>
Вопрос по 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 [Bugtraq.ru Team] <Denis Amelin> Статус: Elderman
<"чистая" ссылка>


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






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


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