Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Linker Error


Автор: Burka 4.6.2007, 12:51
Код создающий соединение с ядром Mathematica.
Пример кода из хелпа Математики :
Код

#include "mathlink.h"

void main()
{
MLENV env;
MLINK link;
long errno;

 env = MLInitialize(0);
}

Выдает ошибку.
Код

Unresolved external 'MLInitialize' referenced from C:\...\unit1.obj

Файл mathlink находится в папке с программой.
Читал, что реализация функций может находиться не в самом  файле mathlink.h.
Вопрос: как можно определить где находится реализация функций по файлу mathlink.h (в частности) или как можно обойти эту ошибку?





Автор: RatHat 4.6.2007, 13:22
Burka, выложи кусок кода, где у тебя в хедере объявлена функция MLInitialize() и кусок, где она реализована.

Автор: SenkraD 4.6.2007, 13:32
Burka,  вообщем подключи к проекту файл где реализована эта функция и всё будет в порядке или нужную библиокету

Автор: Burka 4.6.2007, 13:50
Цитата

Burka, выложи кусок кода, где у тебя в хедере объявлена функция MLInitialize() и кусок, где она реализована. 


Цитата

Burka,  вообщем подключи к проекту файл где реализована эта функция и всё будет в порядке или нужную библиокету


Вы что ли сговорились?? Прочитайте вопрос!!!
Я не знаю где РЕАЛИЗОВАНА функция!   smile 

Автор: dumb 4.6.2007, 14:08
Цитата(Burka @  4.6.2007,  13:50 Найти цитируемый пост)
Я не знаю где РЕАЛИЗОВАНА функция!

mathlink.obj или mathlink.lib

Автор: SenkraD 4.6.2007, 14:31
Burka,  извени - завтыкал, тогда ищи нужный lib-файл - думаю обьектник ты не найдеш - уж больно название в стиле COM'а, о он обычно реализации по lib и dll раскладывает

Автор: Burka 4.6.2007, 16:30
Цитата

mathlink.obj или mathlink.lib 

mathlink.h я нашел в папке с програмой, но ни mathlink.obj, ни mathlink.lib там не было.
Хотя я так понял что возможно его можно получить, например скомпилировав какой-нить файл..

Цитата

...думаю обьектник ты не найдеш...

С СОМов начинал пробовать, ниодной dll или exe построеных на ком нету. Там, как я понял все через Mаthlink делается. А Mathlink это  порт специальный, но подробностей сам не знаю.

А вообще в самом mathlink.h есть(должна быть) ссылка на файл *.obj, *.lib или *.dll?

Автор: dumb 4.6.2007, 17:57
Burka,
1. найди файлы по маске ml32i2*.* - по идее, если установлен http://support.wolfram.com/mathematica/mathlink/updates/mldk.html, то ml32i2.dll(и еще кучка файлов) должен быть в system32, а ml32i2b.lib в C:\Program Files\Wolfram Research\Mathematica\6.0\SystemFiles\Links\MathLink\DeveloperKit\Windows\CompilerAdditions\mldev32\lib.
2. скопируй из папки lib все файлы, имя которых кончается на букву b, куда-нибудь к себе(например в папку проекта).
3. 
Код

#include "mathlink.h"

#pragma comment(lib, "ml32i2b.lib") // либо можно добавить этот .lib прямо в проект(Shift-F11)

void main()
{
  MLENV env;
  MLINK link;
  long errno;
  env = MLInitialize(0);
}

Автор: Burka 4.6.2007, 20:31
dumb, Спасибо! Заработала.
А можешь привести пример, как используя ядро Математики вызвать простейшую функцию, например возведение в квадрат?
Просто в Математике не разу не работал, а тут под нее прогу еще нужно написать. Буду очень благодарен.  smile 

Автор: dumb 5.6.2007, 01:57
Цитата(Burka @  4.6.2007,  20:31 Найти цитируемый пост)
А можешь привести пример

а неа. я ее(математику эту) вообще никогда не видел и пока не собираюсь. smile

примеры ж есть - там и смотри.

Автор: Burka 5.6.2007, 02:37
dumb, я пока ждал от тебя примера, свой уже накарябал =))  smile 
Там примеры-то есть, но очень скудно описано =(

З.Ы. И они(примеры), кстати, не рабочие даже, там просто описание работы одной или двух функций.  smile 

Автор: Damarus 5.6.2007, 07:25
Цитата(Burka @  4.6.2007,  12:51 Найти цитируемый пост)
как можно определить где находится реализация функций по файлу mathlink.h (в частности)

Никак.

Автор: profispb 9.6.2007, 12:08
Посмотри через эксплорер. И удали эту функцию из проекта!

Добавлено через 4 минуты и 7 секунд
Найди эту функцию в эксплорере и удали её нафиг!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)