He,
Ik loop tegen het volgende probleem aan:
Ik wil een project uit Visual C++ compileren voor matlab zodat ik via de mexFuntion vanuit matlab het C++ programma kan aanroepen.
De zooi is al gecompileerd enzo en klaar voor gebruik, maar ik moet iets ongeveer gelijks maken, dus dacht ik ik compileer eerst dit project zodat ik weet hoe dat in matlab gaat. (matlab newbie)
zie:
http://www.mathworks.com/...ctId=4017&objectType=file
Er staat een link bij naar de source die ik dus heb. Je moet er trouwens ook de portaudio sdk en asio sdk voor hebben.
In Visual C++ compiled die perfect, alleen komt er een dll uit die niet geschikt is voor matlab. (geen mexfile dus) Ik moet de troep dus in matlab compileren. dat doe ik met de regel:
mex -v -I'D:\Temp\portaudio_v18_1\pa_common' -I'D:\Temp\portaudio_v18_1\pa_asio' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\common' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\host' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\host\pc' D:\Temp\pawavplay\pawavplay.cpp D:\Temp\portaudio_v18_1\pa_common\pa_lib.c D:\Temp\portaudio_v18_1\pa_asio\pa_asio.cpp D:\Temp\ASIO\asiosdk2\asiosdk2\common\asio.cpp D:\Temp\ASIO\asiosdk2\asiosdk2\host\pc\asiolist.cpp
Het zijn allemaal c-files die meegecompileerd moeten worden om link error2001 (unresolved external symbol) te voorkomen. Dat is dus gelukt maar het gaat volgens mij fout op het volgende punt:
er staat in de code:
#if MAC
#include "CodeFragments.hpp"
hier mag ie dus nooit om vragen, wat ie uiteraard wel doet. Maar in Visual c++ vraagt ie er niet om. Als ik het pad waar de file instaat meegeef krijg ik gruwelijke errors. Maar ik kan slechts overal in de code die #if MAC weg gaan halen...
Iemand enig idee?
p.s. zit ik in het goede topic?
Ik loop tegen het volgende probleem aan:
Ik wil een project uit Visual C++ compileren voor matlab zodat ik via de mexFuntion vanuit matlab het C++ programma kan aanroepen.
De zooi is al gecompileerd enzo en klaar voor gebruik, maar ik moet iets ongeveer gelijks maken, dus dacht ik ik compileer eerst dit project zodat ik weet hoe dat in matlab gaat. (matlab newbie)
zie:
http://www.mathworks.com/...ctId=4017&objectType=file
Er staat een link bij naar de source die ik dus heb. Je moet er trouwens ook de portaudio sdk en asio sdk voor hebben.
In Visual C++ compiled die perfect, alleen komt er een dll uit die niet geschikt is voor matlab. (geen mexfile dus) Ik moet de troep dus in matlab compileren. dat doe ik met de regel:
mex -v -I'D:\Temp\portaudio_v18_1\pa_common' -I'D:\Temp\portaudio_v18_1\pa_asio' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\common' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\host' -I'D:\Temp\ASIO\asiosdk2\asiosdk2\host\pc' D:\Temp\pawavplay\pawavplay.cpp D:\Temp\portaudio_v18_1\pa_common\pa_lib.c D:\Temp\portaudio_v18_1\pa_asio\pa_asio.cpp D:\Temp\ASIO\asiosdk2\asiosdk2\common\asio.cpp D:\Temp\ASIO\asiosdk2\asiosdk2\host\pc\asiolist.cpp
Het zijn allemaal c-files die meegecompileerd moeten worden om link error2001 (unresolved external symbol) te voorkomen. Dat is dus gelukt maar het gaat volgens mij fout op het volgende punt:
er staat in de code:
#if MAC
#include "CodeFragments.hpp"
hier mag ie dus nooit om vragen, wat ie uiteraard wel doet. Maar in Visual c++ vraagt ie er niet om. Als ik het pad waar de file instaat meegeef krijg ik gruwelijke errors. Maar ik kan slechts overal in de code die #if MAC weg gaan halen...
Iemand enig idee?
p.s. zit ik in het goede topic?