Re[7]: VS 2003 не находит iostream.h, не признаёт &
От: Сергей Зизев Украина  
Дата: 22.09.07 05:47
Оценка: 3 (1)
Здравствуйте, Сергей Зизев, Вы писали:

СЗ>Здравствуйте, Ilya81, Вы писали:


I>>

СЗ>
СЗ>inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)
СЗ>


I>>На строку заголовка, где с inline начинается, указывает компилятор, заявляя syntax error : '('. Затем ещё на {, заявляя missing funtion header.


СЗ>Твой компилятор обрабатывает слово `pascal' как `reserved word'


А если еще точнее, то он воспринимает `pascal' как calling convension а имя функции тогда просто у тебя отсутствует
Замени по коду pascal на pascal_
Re[11]: VS 2003 не находит iostream.h, не признаёт &
От: tilarids Украина tilarids.blogspot.com
Дата: 19.10.07 10:16
Оценка: 3 (1)
Здравствуйте, Ilya81, Вы писали:

I>Попробовал сюда http://files-upload.com/files/568638/SplineSmooth.rar (но вообще страно, rapidshare считаю самым надёжным).


Rapidshare плохо ко мне относится лично, так что я его не люблю.

По поводу проекта — у меня выдало 32 unresolved externals. Если они и имелись в виду — тогда объяснение просто — какие-то библиотеки просто не подключены. А то cpp файлов всего два. Теперь по поводу общих проблем, что там есть.

1. Там два cpp файла, но один не используется. У меня создалось впечатление, что кто-то просто скопировал часть одного cpp файла в другой. Я прав?
2. Часть классов(как я понял — это реализация классов, которые используются в Matlab) написана на cpp (реализация прямо в хедерах, но не в этом суть). Часть объявленных функций нигде не реализовано(например, operator= у mwArray реализацию я так и не нашёл). Возможно, что-то криво сгенерировалось. Или где искать эти реализации? Если она объявлена, значит нельзя положиться на стандартную реализацю, плюс там какая-то муть со статическими членами.
Добавка: возможно, все сгенерено правильно и таким образом программеры пытались запретить копирование mwArray. Но тогда почему оно в public? Там ТС ничего не делал?
3. Для каких компиляторов это создавалось? И какие рекомендации по подготовке проекта были(если они есть в документации к генератору)? Ибо написано вроде кросс-платформенно, под разные компайлеры, но дефайны слегка кривые.
<вырезано, дабы сохранить место на сервере>
Re[13]: VS 2003 не находит iostream.h, не признаёт &
От: tilarids Украина tilarids.blogspot.com
Дата: 19.10.07 13:22
Оценка: 3 (1)
Здравствуйте, Ilya81, Вы писали:

I>Документации по этой функции мало (всё что написано http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/index.html?/access/helpdesk/help/toolbox/compiler/mcc.html&amp;http://www.mathworks.com/cgi-bin/texis/webinator/search/?db=MSS&amp;prox=page&amp;rorder=750&amp;rprox=750&amp;rdfreq=500&amp;rwfreq=500&amp;rlead=250&amp;sufs=0&amp;order=r&amp;is_summary_on=1&amp;ResultCount=10&amp;query=mcc), там не ясно с версиями, но в каталогах Matlab я нашёл несколько lib-файлов для VC++ 6. Вот не знаю, вроде должны приниматься следующей версией компилятора, но после их добавления в References ничего не меняется, выдаёт те же ошибки. А если учесть, что DLL нужно делать по определённому образцу, то получается сложно. Не знаю, упростится ли ситуация, если найти 6-ю версию VC++.


References — это происки империалистов. Весьма удобно писать

#pragma comment(lib,"имя_либы")
<вырезано, дабы сохранить место на сервере>
Re: VS 2003 не находит iostream.h, не признаёт &
От: Awaken Украина  
Дата: 21.09.07 16:38
Оценка: 2 (1)
I>#include <iostream.h>

iostream.h был в очень старых компиляторах, сейчас он просто iostream
как вариант — замени на
#include <iostream>
using namespace std;
Re[6]: VS 2003 не находит iostream.h, не признаёт &
От: Сергей Зизев Украина  
Дата: 22.09.07 05:39
Оценка: 1 (1)
Здравствуйте, Ilya81, Вы писали:

I>

inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)


I>На строку заголовка, где с inline начинается, указывает компилятор, заявляя syntax error : '('. Затем ещё на {, заявляя missing funtion header.


Твой компилятор обрабатывает слово `pascal' как `reserved word'
Re[2]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 21.09.07 17:35
Оценка: :)
Спасибо, работает! Но осталась ещё небольшая проблема, одна подпрограмма в Matlab'овском коде написана весьма сомнительным образом
inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)
{
MatlabMatrix *prhs[2];
prhs[0] = (!in1.IsDIN())?in1.GetData()MatlabMatrix*)(NULL);
prhs[1] = (!in2.IsDIN())?in2.GetData()MatlabMatrix*)(NULL);
return mlfPascal(prhs[0], prhs[1]);
}
и компилятору не нравится скобка ( . Как б сие исправить так, чтоб всё работало?
Re[8]: VS 2003 не находит iostream.h, не признаёт &
От: Аноним  
Дата: 22.09.07 16:44
Оценка: +1
а каким образом ты сделал трансляцию матлабовской функции в C++ ?
есть какой-то тулс специальный ?
VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 21.09.07 16:25
Оценка:
Для написания программы с применением математических алгоритмов я использовал трансляцию Matlab'овского файла в C++. Но при компиляции с Matlab'овскими h-файлами возникает проблема. Во-первых, есть строчка
#include <iostream.h>
но он этот файл не находит. Пробую закомментировать эту строчку, но тогда в строчке
inline ostream &operator<<(ostream &os, const mwException &except)
он выдаёт, что пропущено ; перед &.
Подскажите, пожалуйста, как избавиться от этих ошибок и скомпилировать такую программу.
Re[3]: VS 2003 не находит iostream.h, не признаёт &
От: Erop Россия  
Дата: 21.09.07 17:43
Оценка:
Здравствуйте, Ilya81, Вы писали:

I>и компилятору не нравится скобка ( . Как б сие исправить так, чтоб всё работало?


А в каком именно месте?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[3]: VS 2003 не находит iostream.h, не признаёт &
От: Awaken Украина  
Дата: 21.09.07 18:06
Оценка:
I>и компилятору не нравится скобка ( . Как б сие исправить так, чтоб всё работало?

нихрена не понятно, скопируй правильно текст. наверное там был оператор ?: ?
внизу когда пишешь сообщение есть чек-бокс "отключить смайлики", если что
Re[4]: VS 2003 не находит iostream.h, не признаёт &
От: Erop Россия  
Дата: 21.09.07 18:19
Оценка:
Здравствуйте, Awaken, Вы писали:

I>>и компилятору не нравится скобка ( . Как б сие исправить так, чтоб всё работало?


A>нихрена не понятно, скопируй правильно текст. наверное там был оператор ?: ?

A>внизу когда пишешь сообщение есть чек-бокс "отключить смайлики", если что

Скорее всего было так:
inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)
{
MatlabMatrix *prhs[2];
    prhs[0] = (!in1.IsDIN())?in1.GetData():(MatlabMatrix*)(NULL);
    prhs[1] = (!in2.IsDIN())?in2.GetData():(MatlabMatrix*)(NULL);
    return mlfPascal(prhs[0], prhs[1]);
}


Но всё равно не понятно что не так со скобками. Даже в какой строке не понятно, на самом деле :)
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 22.09.07 04:54
Оценка:
I>>>и компилятору не нравится скобка ( . Как б сие исправить так, чтоб всё работало?

A>>нихрена не понятно, скопируй правильно текст. наверное там был оператор ?: ?

A>>внизу когда пишешь сообщение есть чек-бокс "отключить смайлики", если что

E>Скорее всего было так:
inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)
E>{
E>MatlabMatrix *prhs[2];
E>    prhs[0] = (!in1.IsDIN())?in1.GetData():(MatlabMatrix*)(NULL);
E>    prhs[1] = (!in2.IsDIN())?in2.GetData():(MatlabMatrix*)(NULL);
E>    return mlfPascal(prhs[0], prhs[1]);
E>}
E>


E>Но всё равно не понятно что не так со скобками. Даже в какой строке не понятно, на самом деле :)


На строку заголовка, где с inline начинается, указывает компилятор, заявляя syntax error : '('. Затем ещё на {, заявляя missing funtion header.
Re[8]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 18.10.07 10:35
Оценка:
I>>>
СЗ>>
СЗ>>inline mwArray pascal(const mwArray &in1=mwArray::DIN, const mwArray &in2=mwArray::DIN)
СЗ>>


I>>>На строку заголовка, где с inline начинается, указывает компилятор, заявляя syntax error : '('. Затем ещё на {, заявляя missing funtion header.


СЗ>>Твой компилятор обрабатывает слово `pascal' как `reserved word'


СЗ>А если еще точнее, то он воспринимает `pascal' как calling convension а имя функции тогда просто у тебя отсутствует :-)

СЗ>Замени по коду pascal на pascal_

Спасибо, компиляция сработала, но вот ошибки компоновки мне исправить никак не удаётся. Полагаю, что тут нужно смотреть целый проект, так что выкладываю его http://rapidshare.com/files/63395168/SplineSmooth.rar.html .
Re[9]: VS 2003 не находит iostream.h, не признаёт &
От: tilarids Украина tilarids.blogspot.com
Дата: 18.10.07 14:03
Оценка:
Здравствуйте, Ilya81, Вы писали:

I>Спасибо, компиляция сработала, но вот ошибки компоновки мне исправить никак не удаётся. Полагаю, что тут нужно смотреть целый проект, так что выкладываю его http://rapidshare.com/files/63395168/SplineSmooth.rar.html .


Залей куда-нибудь в другое место, а то архив так никто и не скачает

P.S. Я бы попробовал помочь, но скачать не могу.
<вырезано, дабы сохранить место на сервере>
Re: VS 2003 не находит iostream.h, не признаёт &
От: AlexCrush Россия  
Дата: 18.10.07 17:37
Оценка:
Заменить <iostream.h> на <iostream> .
Re[2]: VS 2003 не находит iostream.h, не признаёт &
От: AlexCrush Россия  
Дата: 18.10.07 17:38
Оценка:
Блин, туплю. Ветка-то старая да еще и с ответами, а я без картинок то и не заметил
Re[10]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 18.10.07 18:43
Оценка:
T>Здравствуйте, Ilya81, Вы писали:

I>>Спасибо, компиляция сработала, но вот ошибки компоновки мне исправить никак не удаётся. Полагаю, что тут нужно смотреть целый проект, так что выкладываю его http://rapidshare.com/files/63395168/SplineSmooth.rar.html .


T>Залей куда-нибудь в другое место, а то архив так никто и не скачает :)


T>P.S. Я бы попробовал помочь, но скачать не могу.


Попробовал сюда http://files-upload.com/files/568638/SplineSmooth.rar (но вообще страно, rapidshare считаю самым надёжным).
Re[12]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 19.10.07 12:27
Оценка:
Документации по этой функции мало (всё что написано http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/index.html?/access/helpdesk/help/toolbox/compiler/mcc.html&amp;http://www.mathworks.com/cgi-bin/texis/webinator/search/?db=MSS&amp;prox=page&amp;rorder=750&amp;rprox=750&amp;rdfreq=500&amp;rwfreq=500&amp;rlead=250&amp;sufs=0&amp;order=r&amp;is_summary_on=1&amp;ResultCount=10&amp;query=mcc), там не ясно с версиями, но в каталогах Matlab я нашёл несколько lib-файлов для VC++ 6. Вот не знаю, вроде должны приниматься следующей версией компилятора, но после их добавления в References ничего не меняется, выдаёт те же ошибки. А если учесть, что DLL нужно делать по определённому образцу, то получается сложно. Не знаю, упростится ли ситуация, если найти 6-ю версию VC++.

I>>Попробовал сюда http://files-upload.com/files/568638/SplineSmooth.rar (но вообще страно, rapidshare считаю самым надёжным).


T>Rapidshare плохо ко мне относится лично, так что я его не люблю. :)


T>По поводу проекта — у меня выдало 32 unresolved externals. Если они и имелись в виду — тогда объяснение просто — какие-то библиотеки просто не подключены. А то cpp файлов всего два. Теперь по поводу общих проблем, что там есть.


T>1. Там два cpp файла, но один не используется. У меня создалось впечатление, что кто-то просто скопировал часть одного cpp файла в другой. Я прав? :)

T>2. Часть классов(как я понял — это реализация классов, которые используются в Matlab) написана на cpp (реализация прямо в хедерах, но не в этом суть). Часть объявленных функций нигде не реализовано(например, operator= у mwArray реализацию я так и не нашёл). Возможно, что-то криво сгенерировалось. Или где искать эти реализации? Если она объявлена, значит нельзя положиться на стандартную реализацю, плюс там какая-то муть со статическими членами.
T>Добавка: возможно, все сгенерено правильно и таким образом программеры пытались запретить копирование mwArray. Но тогда почему оно в public? Там ТС ничего не делал? :)
T>3. Для каких компиляторов это создавалось? И какие рекомендации по подготовке проекта были(если они есть в документации к генератору)? Ибо написано вроде кросс-платформенно, под разные компайлеры, но дефайны слегка кривые.
Re[14]: VS 2003 не находит iostream.h, не признаёт &
От: Ilya81  
Дата: 19.10.07 16:28
Оценка:
Я вписал эти строки в основной файл, количество неразрешённых зависимостей сократилось до 11. Попробовал вписать в другой файл — сократилось до 10. Но пробую в остальные — дальше не сокращается. Не знаю, как определить, в какие файлы вписывать. Вот такой нынешний вид http://files-upload.com/files/570566/SplineSmooth.rar

I>>Документации по этой функции мало (всё что написано http://www.mathworks.com/access/helpdesk/help/toolbox/compiler/index.html?/access/helpdesk/help/toolbox/compiler/mcc.html&amp;http://www.mathworks.com/cgi-bin/texis/webinator/search/?db=MSS&amp;prox=page&amp;rorder=750&amp;rprox=750&amp;rdfreq=500&amp;rwfreq=500&amp;rlead=250&amp;sufs=0&amp;order=r&amp;is_summary_on=1&amp;ResultCount=10&amp;query=mcc), там не ясно с версиями, но в каталогах Matlab я нашёл несколько lib-файлов для VC++ 6. Вот не знаю, вроде должны приниматься следующей версией компилятора, но после их добавления в References ничего не меняется, выдаёт те же ошибки. А если учесть, что DLL нужно делать по определённому образцу, то получается сложно. Не знаю, упростится ли ситуация, если найти 6-ю версию VC++.


T>References — это происки империалистов. Весьма удобно писать


T>
T>#pragma comment(lib,"имя_либы")
T>
Re[15]: VS 2003 не находит iostream.h, не признаёт &
От: tilarids Украина tilarids.blogspot.com
Дата: 20.10.07 10:14
Оценка:
Здравствуйте, Ilya81, Вы писали:

I>Я вписал эти строки в основной файл, количество неразрешённых зависимостей сократилось до 11. Попробовал вписать в другой файл — сократилось до 10. Но пробую в остальные — дальше не сокращается. Не знаю, как определить, в какие файлы вписывать. Вот такой нынешний вид http://files-upload.com/files/570566/SplineSmooth.rar


Вписывать — в один файл, должно хватить. По поводу остальных 10 unresolved externals — еще вначале писал, что реализация класса mwArray — не полная. Файл dblmtrx.h — не полный. А точнее, я бы еще поискал dblmtrx.cpp. Если оно изначально так было, то возможно два варианта:
1. Коряво сгенерировалось
2. Где-то еще лежит часть реализации, нужно ее только найти и подключить.

Если же файл dblmtrx.h правился, то лучше вернуть всё на место

P.S. Кроме mwArray еще не находит куска реализации в mwLibraryInitBuiltins — деструктора.
<вырезано, дабы сохранить место на сервере>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.