/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
FFTW og C++
Fra : Heureka


Dato : 23-12-05 21:08

Hejsa,

Jeg er temmelig grøn mht C++ men har alligevel forsøgt at kaste mig ud i et
projekt hvor jeg behøver en Fast Fourier Transform (FFT).
Jeg har orienteret mig på nettet og fundet FFTW3 biblioteket som lader til
at være blandt de hurtigste realisationer af en FFT.

Jeg prøve at køre det eksempel som står skrevet i FFTW tutorialen; her får
jeg en fejl ved ved instruktionslinien:

in = fftw_malloc(sizeof(fftw_complex) * N);

Fejlen som Visual Studio C++ express prompter er:

c:\vstdevel\juceaudioplugin\demo\src\demojucefilter.cpp(32) : error C2440:
'=' : cannot convert from 'void *' to 'double *'

Er der nogen der kan forklare mig hvorfor det ikke virker?

Vh.
Thomas



 
 
Michael Rasmussen (23-12-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 23-12-05 21:16

On Fri, 23 Dec 2005 21:07:54 +0100, Heureka wrote:

> c:\vstdevel\juceaudioplugin\demo\src\demojucefilter.cpp(32) : error C2440:
> '=' : cannot convert from 'void *' to 'double *'
>
> Er der nogen der kan forklare mig hvorfor det ikke virker?
>
malloc og venner returnerer altid en pointer af typen void, da malloc blot
reserverer et område i heap til brug for applikationen. Det er så
herefter progrømmerens ansvar at caste det til en korrekt type. Din kode
bør derfor se ud på følgende måde:
in = (double *) fftw_malloc(sizeof(fftw_complex) * N);

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Heureka (23-12-2005)
Kommentar
Fra : Heureka


Dato : 23-12-05 21:36

tusinde tak for hjælpen det gik godt nok hurtigt :)

Thomas

"Michael Rasmussen" <mir@miras.org> wrote in message
news:pan.2005.12.23.20.16.00.257859@miras.org...
> On Fri, 23 Dec 2005 21:07:54 +0100, Heureka wrote:
>
>> c:\vstdevel\juceaudioplugin\demo\src\demojucefilter.cpp(32) : error
>> C2440:
>> '=' : cannot convert from 'void *' to 'double *'
>>
>> Er der nogen der kan forklare mig hvorfor det ikke virker?
>>
> malloc og venner returnerer altid en pointer af typen void, da malloc blot
> reserverer et område i heap til brug for applikationen. Det er så
> herefter progrømmerens ansvar at caste det til en korrekt type. Din kode
> bør derfor se ud på følgende måde:
> in = (double *) fftw_malloc(sizeof(fftw_complex) * N);
>
> --
> Hilsen/Regards
> Michael Rasmussen
> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>



Michael Rasmussen (23-12-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 23-12-05 22:35

On Fri, 23 Dec 2005 21:36:11 +0100, Heureka wrote:

> tusinde tak for hjælpen det gik godt nok hurtigt :)
>
Det var så lidt.

Denne nyhedsgruppe lider ikke under en voldsom mængde indlæg, men der
overvåges konstant af en lille gruppe C/C++ entutiaster, og derfor får
man ofte en hurtig respons.

PS. hvis du vil undgå flames i fremtiden, bør du undlade at topposte.
Det er nemmere at følge en tråd, hvis svarene skrives under
spørgsmålene, og hvis alt det man ikke svarer på, er fjernet fra ens
indlæg

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Heureka (23-12-2005)
Kommentar
Fra : Heureka


Dato : 23-12-05 22:52


"Michael Rasmussen" <mir@miras.org> wrote in message
news:pan.2005.12.23.21.34.36.787138@miras.org...
> On Fri, 23 Dec 2005 21:36:11 +0100, Heureka wrote:
>
>> tusinde tak for hjælpen det gik godt nok hurtigt :)
>>
> Det var så lidt.
>
> Denne nyhedsgruppe lider ikke under en voldsom mængde indlæg, men der
> overvåges konstant af en lille gruppe C/C++ entutiaster, og derfor får
> man ofte en hurtig respons.
>
> PS. hvis du vil undgå flames i fremtiden, bør du undlade at topposte.
> Det er nemmere at følge en tråd, hvis svarene skrives under
> spørgsmålene, og hvis alt det man ikke svarer på, er fjernet fra ens
> indlæg
>
> --
> Hilsen/Regards
> Michael Rasmussen
> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>

Ok, det vil jeg huske fra nu af - tak for tippet!

Thomas :)



Heureka (23-12-2005)
Kommentar
Fra : Heureka


Dato : 23-12-05 22:54


"Heureka" <stoltzo@hotmail.com> wrote in message
news:43ac7173$0$189$edfadb0f@dread16.news.tele.dk...
>
> "Michael Rasmussen" <mir@miras.org> wrote in message
> news:pan.2005.12.23.21.34.36.787138@miras.org...
>> On Fri, 23 Dec 2005 21:36:11 +0100, Heureka wrote:
>>
>>> tusinde tak for hjælpen det gik godt nok hurtigt :)
>>>
>> Det var så lidt.
>>
>> Denne nyhedsgruppe lider ikke under en voldsom mængde indlæg, men der
>> overvåges konstant af en lille gruppe C/C++ entutiaster, og derfor får
>> man ofte en hurtig respons.
>>
>> PS. hvis du vil undgå flames i fremtiden, bør du undlade at topposte.
>> Det er nemmere at følge en tråd, hvis svarene skrives under
>> spørgsmålene, og hvis alt det man ikke svarer på, er fjernet fra ens
>> indlæg
>>
>> --
>> Hilsen/Regards
>> Michael Rasmussen
>> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>>
>
> Ok, det vil jeg huske fra nu af - tak for tippet!
>
> Thomas :)
>

Hejsa,

Jeg kan se at jeg muligvis har et problem med mit setup!

Visual Studio giver mig følgende fejlmeddelelse når jeg kompilerer

DemoJuceFilter.obj : error LNK2001: unresolved external symbol _fftw_malloc

..\Debug/juce_vst.dll : fatal error LNK1120: 1 unresolved externals



Betyder det at jeg ikke har linket korrekt til min lib fil?

Thomas



Michael Rasmussen (23-12-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 23-12-05 23:01

On Fri, 23 Dec 2005 22:54:00 +0100, Heureka wrote:

> Jeg kan se at jeg muligvis har et problem med mit setup!
>
> Visual Studio giver mig følgende fejlmeddelelse når jeg kompilerer
>
> DemoJuceFilter.obj : error LNK2001: unresolved external symbol
> _fftw_malloc
>
> .\Debug/juce_vst.dll : fatal error LNK1120: 1 unresolved externals
>
Har du tilføjet alle de relevante filer fra FFTW som referencer til dit
projekt? Typisk en eller flere header filer, og muligvis skal du også
tilføje nogen dll filer. Se i mappen, du har udpakket FFTW i, om der ikke
skulle være nogen dll filer.

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Heureka (23-12-2005)
Kommentar
Fra : Heureka


Dato : 23-12-05 23:16


"Michael Rasmussen" <mir@miras.org> wrote in message
news:pan.2005.12.23.22.01.14.685028@miras.org...
> On Fri, 23 Dec 2005 22:54:00 +0100, Heureka wrote:
>
>> Jeg kan se at jeg muligvis har et problem med mit setup!
>>
>> Visual Studio giver mig følgende fejlmeddelelse når jeg kompilerer
>>
>> DemoJuceFilter.obj : error LNK2001: unresolved external symbol
>> _fftw_malloc
>>
>> .\Debug/juce_vst.dll : fatal error LNK1120: 1 unresolved externals
>>
> Har du tilføjet alle de relevante filer fra FFTW som referencer til dit
> projekt? Typisk en eller flere header filer, og muligvis skal du også
> tilføje nogen dll filer. Se i mappen, du har udpakket FFTW i, om der ikke
> skulle være nogen dll filer.
>
> --
> Hilsen/Regards
> Michael Rasmussen
> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>
Hej igen,

Jeg må indrømme at jeg er lidt i tvil om jeg har alle de nødvendige filer
tilknyttet mit projekt. Jeg var ude på http://www.fftw.org/ for at hente
kildekoden men jeg ku' ikke få den kompileret med Visual C++ Express 2005.
Istedet fandt jeg på hjemmesiden et link til an zip-pakke med lib filer samt
en header fil som ifølge en tråd fra et forum skulle være tilstrækkeligt -
men man ved jo aldrig.

Noget må være rigtig sat op for kompileren kender godt til nogle af de
klasser der indgår i fftw pakken (måske min terminologi ikke er så god :) )



Den fejlmeddelelse jeg får er:
------ Build started: Project: JuceAudioPlugin Demo, Configuration: Debug
Win32 ------

Compiling...

DemoJuceFilter.cpp

JUCE! Linking to: jucelib_static_debug.lib

Linking...

DemoJuceFilter.obj : error LNK2001: unresolved external symbol _fftw_malloc

..\Debug/juce_vst.dll : fatal error LNK1120: 1 unresolved externals

Build log was saved at
"file://c:\VstDevel\JuceAudioPlugin\demo\build\VST_Win32\Debug\BuildLog.htm"

JuceAudioPlugin Demo - 2 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



Michael Rasmussen (24-12-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 24-12-05 01:36

On Fri, 23 Dec 2005 23:15:53 +0100, Heureka wrote:

> Noget må være rigtig sat op for kompileren kender godt til nogle af de
> klasser der indgår i fftw pakken (måske min terminologi ikke er så god
> :) )
>
Da jeg hverken har Visual C++ Express 2005 eller FFTW, har jeg svært ved
at hjælpe dig yderligere. Måske Visual C++ Express 2005 ikke tillader
inkludering af tredjeparts produkter?

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917


Heureka (25-12-2005)
Kommentar
Fra : Heureka


Dato : 25-12-05 22:05


"Michael Rasmussen" <mir@miras.org> wrote in message
news:pan.2005.12.24.00.35.57.931891@miras.org...
> On Fri, 23 Dec 2005 23:15:53 +0100, Heureka wrote:
>
>> Noget må være rigtig sat op for kompileren kender godt til nogle af de
>> klasser der indgår i fftw pakken (måske min terminologi ikke er så god
>> :) )
>>
> Da jeg hverken har Visual C++ Express 2005 eller FFTW, har jeg svært ved
> at hjælpe dig yderligere. Måske Visual C++ Express 2005 ikke tillader
> inkludering af tredjeparts produkter?
>
> --
> Hilsen/Regards
> Michael Rasmussen
> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>

Hej Michael, Jeg fandt ud af at jeg havde hentet de forkerte dll filer; nu
kan jeg kompilerer uden problemer :)

Tusinde tak for opmærksomheden
Thomas



Heureka (23-12-2005)
Kommentar
Fra : Heureka


Dato : 23-12-05 22:49

Hejsa,

Jeg kan se at jeg muligvis har et problem med mit setup!

Visual Studio giver mig følgende fejlmeddelelse når jeg kompilerer

DemoJuceFilter.obj : error LNK2001: unresolved external symbol _fftw_malloc

..\Debug/juce_vst.dll : fatal error LNK1120: 1 unresolved externals



Betyder det at jeg ikke har linket korrekt til min lib fil?

Thomas



"Heureka" <stoltzo@hotmail.com> wrote in message
news:43ac5fbe$0$181$edfadb0f@dread16.news.tele.dk...
> tusinde tak for hjælpen det gik godt nok hurtigt :)
>
> Thomas
>
> "Michael Rasmussen" <mir@miras.org> wrote in message
> news:pan.2005.12.23.20.16.00.257859@miras.org...
>> On Fri, 23 Dec 2005 21:07:54 +0100, Heureka wrote:
>>
>>> c:\vstdevel\juceaudioplugin\demo\src\demojucefilter.cpp(32) : error
>>> C2440:
>>> '=' : cannot convert from 'void *' to 'double *'
>>>
>>> Er der nogen der kan forklare mig hvorfor det ikke virker?
>>>
>> malloc og venner returnerer altid en pointer af typen void, da malloc
>> blot
>> reserverer et område i heap til brug for applikationen. Det er så
>> herefter progrømmerens ansvar at caste det til en korrekt type. Din kode
>> bør derfor se ud på følgende måde:
>> in = (double *) fftw_malloc(sizeof(fftw_complex) * N);
>>
>> --
>> Hilsen/Regards
>> Michael Rasmussen
>> http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
>>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste