Strona 1 z 1

Missing prototype - LabWindows 8.0.1

: 18 gru 2008 18:39
autor: esluk
Witam,

Piszę program z użyciem różnych sygnałów (SineWave, TriangleWave, SquareWave), i podczas kompilacji programu wyrzuca mi błędy "Missing prototype". Wygląda jakby funkcje których chcę użyć nie były skompilowane.

Moje zadeklarowane biblioteki to:
#include <utility.h>
#include <ansi_c.h>
#include <analysis.h>
#include <cvirte.h>
#include <userint.h>
#include "Program.h>


W internecie znalazłem sposób rozwiązania mójego błądu - odznaczenie "Require function prototypes" w Options-->Build options -->Require function prototypes...lecz przy kompilacji wyrzuca kolejne błędy:

"Undefined symbol '_TriangleWave' referenced in "Program.c"
"Undefined symbol '_SquareWave' referenced in "Program.c"
"Undefined symbol '_SineWave' referenced in "Program.c"

Czy taka deklaracja sygnału jest dobra?

--------------------------------------------------------------

double amplituda, czestotliwosc, phase, tablica[10];
int n;
n=10;

SineWave (n, amplituda, czestotliwosc, phase, tablica);

--------------------------------------------------------------

Co powinienem zrobić aby skompilował mi się program?

Pozdrawiam esluk

Missing prototype - LabWindows 8.0.1

: 19 gru 2008 10:14
autor: ZbychoZbych
Ja używam CVI 9.0, dodaj: #include <analysis.h>

SineWave wymaga przekazania pointera, wiec:
SineWave (n, amplituda, czestotliwosc, &phase, tablica);

Re: Missing prototype - LabWindows 8.0.1

: 19 gru 2008 13:53
autor: esluk
ZbychoZbych pisze:Ja używam CVI 9.0,
dodaj:
#include <analysis.h>
Właśnie analysis.h miałem dodane. Może trzeba dodać jakąś inną bibliotekę?

Re: Missing prototype - LabWindows 8.0.1

: 20 gru 2008 20:43
autor: maciekwp
Sprawdź jaką masz wersję (licencję) LabWindowsa. Wersja podstawowa "Base Package" nie zawiera m.in. bibliotek "Signal generation" i "Signal processing". Być może nie działa bo nie ma prawa działać....

Patrz link:
http://www.ni.com/lwcvi/compare.htm

Re: Missing prototype - LabWindows 8.0.1

: 21 gru 2008 12:07
autor: esluk
Witam,

Mam wersje demo - wersja darmowa ze strony producenta, z tego co pamiętam 30 lub 60-cio dniowa.

Pozdrawiam

Missing prototype - LabWindows 8.0.1

: 22 gru 2008 16:50
autor: maciekwp
W takim razie powinno działać. Co prawda jeśli skopiowałeś kod z pliku *.c to jest błąd.

Zamiast
#include "Program.h>
powinno być
#include "Program.h"

ale nie sądzę żeby w tym właśnie był problem. Kompilator sam proponuje dodanie właściwych dyrektyw "include" jeśli wykryje użycie jakiejś funkcji bibliotecznej.
Proponuję prześledzić dokładnie kod być może to tylko literówka ale jeśli nie to bez całego kodu trudno cokolwiek więcej powiedzieć.

Re: Missing prototype - LabWindows 8.0.1

: 23 gru 2008 16:22
autor: esluk
Błąd popełniłem wklejając kawałek kodu na forum. Faktycznie jest jak powinno być (#include "Program.h").

Niestety nadal nie wiem co jest przyczyną wyrzucenia błędów, przy każdym z trzech zamieszczanych sygnałów. O dziwo z czwartym (WhiteNoise) nie ma problemów. Nie jestem ekspertem co do c++, ale żadnych większych błędów w kodzie programu nie widzę.

Kod programu załączam w załączniku. Wszystkie uwagi mile widziane :)

pozdrawiam eS.

Re: Missing prototype - LabWindows 8.0.1

: 31 gru 2008 13:27
autor: esluk
Witam,

Problem rozwiązany - pomógł mi mój wykładowca. Faktycznie ściągając LabWindows'a zassałem wersję BASE, z ograniczeniami na sygnały. Po ściągnięciu wersji FDS wszystko ładnie śmiga. :D

Pozdrawiam esluk