0 / 0 / 1
Регистрация: 07.06.2015
Сообщений: 34

Ошибка компоновки при использовании MPIR

28.11.2016, 18:28. Показов 964. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. При попытке скомпилировать код выдается ряд ошибок "LNK2005 error". В чем может быть дело?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#include <iostream>
#include <string.h>
#include <string>
#include <stdio.h>
//#include <gmp.h>
#include <mpir.h>
#include <mpirxx.h>
 
using namespace std;
 
char* abc = "abcdefghijklmnopqrstuvwxyz,.?_";
int m = strlen(abc);
 
mpz_class imod(mpz_class a, mpz_class b)
{
    if (b==0) return -1;
    if (a==0) return 0;
    if ((a>0)&&(b>0))
    {
        a=a%b;
    }
    else if ((a<0)&&(b<0))
    {
        a=-a;
        b=-b;
        a=a%b;
    }
    else if (b<0)
    {
        b=-b;
        a=a%b;
    }
    else if (a<0)
    {
        a=-a;
        if ((a%b)==0) return 0;
        mpz_class c=a/b;
        c=-c-1;
        a=-a-b*c;
    }
    return a;
}
 
mpz_class euclidex(mpz_class a, mpz_class b, mpz_class *x)
{
    if (((a==0)&&(b==0))||(a<0)||(b<0)) return 0;
    if (b==0)
    {
        *x=1;
        return a;
    }
    mpz_class x1, x2, q, r;
    x1=0;
    x2=1;
    while (b!=0)
    {
        q=a/b;
        //r=a%b;
        r=imod(a,b);
        *x=x2-q*x1;
        a=b;
        b=r;
        x2=x1;
        x1=*x;
    }
    *x=x2;
    return a;
}
 
int main()
{
    cout<<"The affine recurrent cipher.\r\nm="<<m<<"\r\n";
    bool bGood=false;
    int l=0;
    string sIn;
    string sOut;
    int i;
    while (!bGood)
    {
        cout<<"Enter string: ";
        getline(cin, sIn);
        l=sIn.size();
        for (i=0; i<l; i++)
        {
            bGood=false;
            for (int j=0; j<m; j++)
            {
                if (sIn[i]==abc[j]) bGood=true;
            }
            if (!bGood)
            {
                cout<<"Bad string. ";
                break;
            }
        }
    }
    sOut.resize(l);
    mpz_class *a=new mpz_class[l];
    mpz_class *a1=new mpz_class[l];
    mpz_class *b=new mpz_class[l];
    for (i=0; i<2; i++)
    {
        bGood=false;
        while (!bGood)
        {
            cout<<"Enter K"<<i+1<<".A: ";
            cin>>a[i];
            if (euclidex(a[i],m,&a1[i])==1) bGood=true; else cout<<"Bad A. ";
        }
        cout<<"Enter K"<<i+1<<".B: ";
        cin>>b[i];
    }
    char cOp=' ';
    cin.ignore();
    while ((cOp!='e')&&(cOp!='E')&&(cOp!='D')&&(cOp!='d'))
    {
        cout<<"(E)ncrypt, (D)ecrypt? ";
        cin>>cOp;
    }
    int x=0;
    for (i=0; i<l; i++)
    {
        for (int j=0; j<m; j++)
        {
            if (sIn[i]==abc[j])
            {
                x=j;
                break;
            }
        }
        if (i>=2)
        {
            a[i]=a[i-1]*a[i-2];
            b[i]=b[i-1]+b[i-2];
            euclidex(a[i], m, &a1[i]);
            cout<<"a, b, a1: "<<a[i]<<", "<<b[i]<<", "<<a1[i]<<"\r\n";
        }
        if ((cOp=='e')||(cOp=='E'))
        {
            //sOut[i]=abc[(a*x+b)%m];
            sOut[i]=abc[imod((a[i]*x+b[i]), m).get_ui()];
        }
        else
        {
            //sOut[i]=abc[(a1*(x-b))%m];
            sOut[i]=abc[imod((a1[i]*(x-b[i])), m).get_ui()];
        }
    }
    cout<<sOut<<"\r\n";
    return 0;
}
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std @@V?$allocator@D@2@@std@@QAE@XZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static int __cdecl std::char_traits<char>::eof(void)" (?eof@?$char_traits@D@std@@SAHXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@ std@@V?$allocator@D@2@@std@@QBEIXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D @std@@@std@@QAEXH_N@Z) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(int)" (?width@ios_base@std@@QAEHH@Z) уже определен в mpirxx.lib(osfuns.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputn(char const *,int)" (?sputn@?$basic_streambuf@DU?$char_trait s@D@std@@@std@@QAEHPBDH@Z) уже определен в mpirxx.lib(osdoprnti.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static bool __cdecl std::char_traits<char>::eq_int_type(int const &,int const &)" (?eq_int_type@?$char_traits@D@std@@SA_NA BH0@Z) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@st d@@@std@@QBEPAV?$basic_streambuf@DU?$cha r_traits@D@std@@@2@XZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std @@@std@@QBEDXZ) уже определен в mpirxx.lib(osfuns.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: int __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBEHXZ) уже определен в mpirxx.lib(osfuns.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: static unsigned int __cdecl std::char_traits<char>::length(char const *)" (?length@?$char_traits@D@std@@SAIPBD@Z) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@ D@std@@@std@@QAEAAV12@XZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@ @@std@@QBEPAV?$basic_ostream@DU?$char_tr aits@D@std@@@2@XZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: bool __thiscall std::ios_base::good(void)const " (?good@ios_base@std@@QBE_NXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@ D@std@@@std@@QAEXXZ) уже определен в mpirxx.lib(osdoprnti.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (?_Lock@?$basic_streambuf@DU?$char_trait s@D@std@@@std@@QAEXXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@DU?$char_tra its@D@std@@@std@@QAEXXZ) уже определен в mpirxx.lib(ismpz.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ ) уже определен в mpirxx.lib(ismpz.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson уже определен в MSVCRTD.lib(MSVCR90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "void __cdecl _AtModuleExit(void (__cdecl*)(void))" (?_AtModuleExit@@YAXP6AXXZ@Z) уже определен в msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Loc imp@12@XZ) уже определен в msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: __Fac_tidy уже определен в msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "private: static void __cdecl std::locale::facet::facet_Register(class std::locale::facet *)" (?facet_Register@facet@locale@std@@CAXPA V123@@Z) уже определен в msvcprtd.lib(locale0_implib.obj)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPAV12@@ Z) уже определен в msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?_Locinfo_ctor@_Locinfo@std@@SAXPAV12@A BV?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@2@@Z) уже определен в msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) уже определен в msvcprtd.lib(MSVCP90D.dll)
1>libcpmt.lib(xlock.obj) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) уже определен в msvcprtd.lib(MSVCP90D.dll)
1>LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library
1>Z:\_tdocs\институт\_5семестр\КМЗИ\VC9\ affiner\affiner\Debug\affiner.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
1>Журнал построения был сохранен в "file://z:\_tdocs\институт\_5семестр\КМЗИ\VC9\af finer\affiner\affiner\Debug\BuildLog.htm "
1>affiner - ошибок 29, предупреждений 13
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2016, 18:28
Ответы с готовыми решениями:

Ошибка компоновки при использовании MPIR
Добрый день. Имеется программа: #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;string&gt; //#include &lt;stdio.h&gt; //#include...

Координаты компонента при использовании менеджера компоновки
Есть фрейм. Часть его занимает некий компонент(extends JPanel, если важно). По некоторому событию нужно передать в этот компонент...

Ошибки компоновки LNK2028 и LNK2019 при использовании Windows.h
Взял код для графического интерфейса от сюда: https://www.cyberforum.ru/cpp-cli-winforms/thread1224010.html Создал кнопку, подключил...

2
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
28.11.2016, 18:32
Цитата Сообщение от zw_Gunslinger Посмотреть сообщение
1>LINK : warning LNK4098: библиотека по умолчанию "LIBCMT" противоречит использованию других библиотек; используйте параметр /NODEFAULTLIB:library
Это пробовал делать?
0
0 / 0 / 1
Регистрация: 07.06.2015
Сообщений: 34
29.11.2016, 14:48  [ТС]
Цитата Сообщение от nd2 Посмотреть сообщение
Это пробовал делать?
А куда это сунуть? В параметры линковки?

Добавлено через 20 часов 9 минут
Я изменил в свойствах проекта "Библиотеку времени выполнения" на "Многопоточная с возможностью отладки (/MTd)" и добавил в параметры линковки "/NODEFAULTLIB:LIBCMT". Количество ошибок сократилось до четырех:
1>Компоновка...
1>mpirxx.lib(ismpz.obj) : error LNK2019: ссылка на неразрешенный внешний символ __invalid_parameter_noinfo в функции "protected: virtual char const * __thiscall std::ctype<char>::_Do_widen_s(char const *,char const *,char *,unsigned int)const " (?_Do_widen_s@?$ctype@D@std@@MBEPBDPBD0P ADI@Z)
1>mpirxx.lib(ismpznw.obj) : error LNK2001: неразрешенный внешний символ "__invalid_parameter_noinfo"
1>mpirxx.lib(isfuns.obj) : error LNK2001: неразрешенный внешний символ "__invalid_parameter_noinfo"
1>Z:\_tdocs\институт\_5семестр\КМЗИ\VC9\ affiner\affiner\Debug\affiner.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>Журнал построения был сохранен в "file://z:\_tdocs\институт\_5семестр\КМЗИ\VC9\af finer\affiner\affiner\Debug\BuildLog.htm "
1>affiner - ошибок 4, предупреждений 12
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2016, 14:48
Помогаю со студенческими работами здесь

Возникает ошибка при компоновки проекта VC++
Я решил изучить DirectX 10.Установил DirectX SDK(June 2010),скопировал все lib файлы в C:\Program Files\Microsoft Visual Studio...

Ошибка при использовании vector (в конце, после вывода результатов выскакивает ошибка, но сам результат коректен)
Суть в следующем, мы считываем введеные значения и выводим этот массив Проблема такова что массив выводиться, корректно, но в конце...

Ошибка при использовании ADODB.CONNECTION при работе с dbf-файлом
Добрый день! Написала макрос с использованием adodb.connection. макрос удаляет строки из файла dbf. На моем компьютере работает, поставила...

Ошибка при задаче значения флажку при использовании контрола?!
У меня в форме 6 флажков, так вот для упрощения кода я вставил контролы, когда написал первый раз у меня всё работало, но потом стал...

Ошибка при получении данных из БД при использовании MVC framework 4.0
// HomeControlers.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Согласованность транзакций в MongoDB
Codd 30.04.2025
MongoDB, начинавшая свой путь как классическая NoSQL система с акцентом на гибкость и масштабируемость, сильно спрогрессировала, включив в свой арсенал поддержку транзакционной согласованности. Это. . .
Продвинутый ввод-вывод в Java: NIO, NIO.2 и асинхронный I/O
Javaican 30.04.2025
Когда речь заходит о вводе-выводе в Java, классический пакет java. io долгие годы был единственным вариантом для разработчиков, но его ограничения становились всё очевиднее с ростом требований к. . .
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru