Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2011, 16:40   #1
sungirl
 
Регистрация: 04.04.2011
Сообщений: 3
По умолчанию компиляция Visual C++ и Matlab R2010b

Добрый день. Уже не знаю что и делать. на Visual C++ и Matlabe6,5 есть рабочий проект, все работает отлично. Но на нотике, на Windows 7 Matlab 6,5 не хочет работать. Поставила Matlab R2010b. Проект перестал компилироваться. Заменила в проекте matlab.lib с Matlab 6,5 на matlab.lib с Matlab R2010b. в Tools-Options-Derictories добавила C:\PROGRAM FILES\MATLAB\R2010B\EXTERN\INCLUDE. В Project-Setting C\C++ - Project Options заменила "C:\MATLAB6p5\extern\include" на "C:\Program Files\MATLAB\R2010b\extern\include" (путь где лежит mex.h). После всего этого С++ компилит, но когда нажимаю Build то выдает ошибки

main.obj : error LNK2001: unresolved external symbol _mxGetPr
main.obj : error LNK2001: unresolved external symbol _mxCreateDoubleMatrix_730
Debug/MyEmptyMexFunction.dll : fatal error LNK1120: 2 unresolved externals

Что делаю не так ,не пойму, подскажите пожалуйста.

Вот кусок программы на С++ :
#include <mex.h>
#include <math.h>
#include <stdio.h>
#include <string.h>

#define SIGNUM(Value) ((Value) < 0 ? (-1) : !!(Value))
#define raz 50000
int size=1;

double x[raz];
double y[raz];
double z[raz];
double k[raz];
double m[raz];
double H[raz];




//Prototype:
void MyEmptyMexFunction();
//--------------------------------------
void mexFunction(int nOut,
mxArray* pOut[] )
{
double *pO; double *pO1; double *pO2; double *pO3; double *pO4; double *pO5;
if (nOut > 0)
{



int mm,nn=1;
MyEmptyMexFunction();

mm=size;


pOut[0] = mxCreateDoubleMatrix(mm,nn,mxREAL);
pOut[1] = mxCreateDoubleMatrix(mm,nn,mxREAL);
pOut[2] = mxCreateDoubleMatrix(mm,nn,mxREAL);
pOut[3] = mxCreateDoubleMatrix(mm,nn,mxREAL);
pOut[4] = mxCreateDoubleMatrix(mm,nn,mxREAL);
pOut[5] = mxCreateDoubleMatrix(mm,nn,mxREAL);


pO = mxGetPr(pOut[0]);
pO1 = mxGetPr(pOut[1]);
pO2 = mxGetPr(pOut[2]);
pO3 = mxGetPr(pOut[3]);
pO4 = mxGetPr(pOut[4]);
pO5 = mxGetPr(pOut[5]);








memcpy(pO, x, size*sizeof(double));
memcpy(pO1, y, size*sizeof(double));
memcpy(pO2, z, size*sizeof(double));
memcpy(pO3, k, size*sizeof(double));
memcpy(pO4, m, size*sizeof(double));
memcpy(pO5, H, size*sizeof(double));


}

}


//------------Our own auxilary function----------------

void MyEmptyMexFunction()
{

const int T = 15;
const double f = 1.061*pow(10,-4);
.....
sungirl вне форума Ответить с цитированием
Старый 10.04.2011, 18:56   #2
sungirl
 
Регистрация: 04.04.2011
Сообщений: 3
По умолчанию

или подскажите как создать сначала нормально проект с dll библиотекой для этой версии матлаба
sungirl вне форума Ответить с цитированием
Старый 10.04.2011, 18:56   #3
sungirl
 
Регистрация: 04.04.2011
Сообщений: 3
По умолчанию

или подскажите как создать сначала нормально проект с dll библиотекой для этой версии матлаба
sungirl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляция в Visual C++ 2008 Express Edition MacTiger Visual C++ 16 26.10.2014 20:19
matlab Витас Помощь студентам 1 11.05.2010 18:41
компиляция проекта в Visual Studio 2008 kess Visual C++ 1 16.03.2010 12:36
MS Visual Studio компиляция с ошибкой! terran4ic Помощь студентам 16 02.10.2009 15:19
Компиляция Visual C++ 6 Manya Visual C++ 3 07.11.2008 14:52