Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
Kill100
419 / 285 / 81
Регистрация: 11.12.2010
Сообщений: 1,195
Завершенные тесты: 1
#1

[MPI] Ошибки линковки

21.02.2013, 23:22. Просмотров 4559. Ответов 5
Метки нет (Все метки)

Надо было написать проект который складывает числа в массиве. И выводит сумму. Одно из требований использование MPI.
Но при компиляции выбивает ошибку.
Ошибка 1 error LNK1104: не удается открыть файл "libmmdd.lib" C:\PP\MPI\Project0\Project0\LINK Project0
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
// Project0.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <omp.h>
#include <mpi.h>
using namespace std;
 
int main(int argc, char* argv[])
{
    setlocale( LC_ALL,"Russian" );
    int n;//Количество элементов в массиве  
    int myrank=0;//Свой номер в группе
    int ranksize =0;//кол-во процессов
    cout<<"введите количество элементов \n";
    cin>>n;
    int* Array = new int[n];
    //Считываем массив с консоли
    for (int i = 0; i < n; i++)
    {
        cin>>Array[i];
    }
    //инициализация куска MPI
    MPI_Init(&argc, &argv);
 
    //Определяем свой номер в группе:
    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
    //Определяем количество процессов
    MPI_Comm_size(MPI_COMM_WORLD, &ranksize);
 
    if(myrank==0)//если это главный процесс
    {
        //отправляем элементы массива
        for (int i =0; i<n;i++)
        {
            MPI_Send(&Array[i],1,MPI_INT,0,0,MPI_COMM_WORLD);
        }
    }
    else //иначе если это не главный то получаем
    {
        //число которое получили
        int chislo =0, summ=0;
        //Статус процесса получения
        MPI_Status status;
        //получаем
        MPI_Recv(&chislo, 1, MPI_INT, 0, 0,MPI_COMM_WORLD,&status);
        summ+=chislo;
        cout<<summ;
    }
    //Ждем все процессы
    MPI_Barrier(MPI_COMM_WORLD);    
    if(myrank==0)
    {
 
 
    }
    //Завершаем кусок MPI
    MPI_Finalize();
    return 0;
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 23:22
Ответы с готовыми решениями:

ошибки линковки с++(...
помогите пожалуйста!! справится с ошибками линковки масив.obj : error LNK2001:...

Ошибки линковки
Нужна помощь! Как исправить эти ошибки при компиляции! Все либы и заголовки...

Ошибки на стадии линковки
obj\Release\main2.o:main2.cpp|| undefined reference to `__gxx_personality_sj0'|...

Ошибки линковки LNK2005, LNK1169
Как-то пробовал сделать программу из нескольких модулей, но наткнувшись на...

Ошибки линковки библиотеки FLTK
Добрые сутки, на данный момент я изучаю FLTK По исключительной ситуации я...

5
winst2008
2 / 2 / 1
Регистрация: 25.05.2012
Сообщений: 18
22.02.2013, 18:38 #2
Студия 10?
0
Kill100
419 / 285 / 81
Регистрация: 11.12.2010
Сообщений: 1,195
Завершенные тесты: 1
22.02.2013, 23:17  [ТС] #3
Цитата Сообщение от winst2008 Посмотреть сообщение
Студия 10?
Да. А есть существенная разница для HPC Pack 2008 ???

Добавлено через 1 час 24 минуты
Вроде бы от этой проблемы избавился но появилась.
1>------ Построение начато: проект: Project0, Конфигурация: Debug x64 ------
1> Project0.cpp
1> stdafx.cpp
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Send в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Recv в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Barrier в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Comm_size в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Comm_rank в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Init в функции main
1>Project0.obj : error LNK2019: ссылка на неразрешенный внешний символ MPI_Finalize в функции main
0
winst2008
2 / 2 / 1
Регистрация: 25.05.2012
Сообщений: 18
25.02.2013, 16:50 #4
В настройках визуалки добавлял путь к заголовочным файлам MS MPI?
как вариант Project — Options, и до*бавь*те msmpi.lib в спи*сок до*пол*ни*тель*ных фай*лов для ком*по*нов*ки
0
Kill100
419 / 285 / 81
Регистрация: 11.12.2010
Сообщений: 1,195
Завершенные тесты: 1
25.02.2013, 22:36  [ТС] #5
Цитата Сообщение от winst2008 Посмотреть сообщение
В настройках визуалки добавлял путь к заголовочным файлам MS MPI?
как вариант Project — Options, и до*бавь*те msmpi.lib в спи*сок до*пол*ни*тель*ных фай*лов для ком*по*нов*ки
Проверял все 200 раз. В итоге установил еще несколько вариантов Microsoft HPC Pack 2008, вроде бы все нормально
0
aleks_up
0 / 0 / 0
Регистрация: 15.02.2015
Сообщений: 1
15.02.2015, 23:03 #6
mpich error LNK2019: ссылка на неразрешенный внешний символ
Мне помогло это

[MPI] Ошибки линковки
[MPI] Ошибки линковки
[MPI] Ошибки линковки



(первый раз на форуме)
0
15.02.2015, 23:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2015, 23:03

Ошибки линковки std::filesystem
Доброго времени суток. В общем я хотел поиграться с фишками будущего стандарта,...

Ошибки линковки в двусвязном списке
Помогите, пожалуйста, разобраться, в чем ошибки.. Возникают на этапе линковки,...

Ошибки линковки при работе с DirectX
Создал DirectX проект, и решил разбить на файлы, создал render.cpp и main.cpp,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru