Lodev – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Lodev – C / C++ – Fórum – Programujte.comLodev – C / C++ – Fórum – Programujte.com

 

oxidián0
Grafoman
21. 1. 2015   #1
-
0
-

Mohl by mi někdo pomoc jak rozjet tento projekt? Používám Codeblocks a gcc. Hází mi to děsně mnoho chyb.

soubory k projektu:

http://lodev.org/cgtutor/

(soubory ke stažení: quickcg.cpp, quickcg.h, main.cpp)

sdl:

https://www.libsdl.org/download-1.2.php

(stáhl jsem verzi 1.2 pro Windows ale v tom projektu asi používají starší)

Další soubory do projektu jsou ke stažení zde:

http://lodev.org/cgtutor/fourier.html

(fourier2d.cpp, fourier1d.cpp)

include SDL jsem upravil:

#include "SDL/include/SDL.h"

přidal jsem soubor SDL.dll do linkeru

A teď upozornění co dostávám:

quickcg.cpp|1573|warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]|

static unsigned long readBitFromReversedStream(size_t& bitp, const unsigned char* bits) { unsigned long result = (bits[bitp >> 3] >> (7 - bitp & 0x7)) & 1; bitp++; return result;}

quickcg.cpp|1585|warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]|

if((colorType == 2 || colorType == 4 || colorType == 6)) if(!(bd == 8 || bd == 16)) return 37;
      else if(colorType == 0) if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8 || bd == 16)) return 37;
      else if(colorType == 3) if(!(bd == 1 || bd == 2 || bd == 4 || bd == 8            )) return 37;
      else return 31; //unexisting color type


(hláška odkazuje na druhý řádek)

chyby:

fourier2d.cpp|53|multiple definition of `SDL_main'|

int main(int /*argc*/, char */*argv*/[])
{


(následující se asi týká hlavičky main)

ke stejnému řádku:

fourier1d.cpp|52|first defined here|

53|multiple definition of `fRe'|

52|first defined here|

fourier1d.cpp|73|first defined here|

if(keyPressed(SDLK_m)) {for(int x = 0; x < n; x++) if(x == n / 2 + 8 || x == n / 2 - 8) fRe[x] = p1 * 4; else fRe[x] = 0; changed = 1;} //sin*sin

stejná chyba:   

calculateAmp(N, fAmp, fRe, fIm);
   

print("Press a-z to choose a function, press the arrows to change the imaginary part, press space to accept.", 0, 0, RGB_Black);

        if(keyPressed(SDLK_d)) {for(int x = 0; x < n; x++) {if(x < 28 || x > N - 28) {FRe2[x] = FRe[x]; FIm2[x] = FIm[x];} else FRe2[x] = FIm2[x] = 0;} changed = 1;} //LP

Poslední chyba:

ld.exe||cannot find -lSDL.dll|

všechny chyby se týkají souboru fourierld.o

podotýkám, že poprvé na Codeblocks spouštím c++, předtím jsem dělal C++ jen ve Visual Studiu a C čko na Codeblocks.

Nahlásit jako SPAM
IP: 78.45.199.–
oxidián0
Grafoman
22. 1. 2015   #2
-
0
-

Máte někdo zkušenost jak nainstalovat SDL do DevC++? Četl jsem návod a nechápu bod 6 protože v SDL žádný adresář lib není, jen v Dev-cpp (DevC++):

http://lodev.org/cgtutor/quickcg.html

1) download and install the latest version of DevCpp from http://www.bloodshed.net/dev/devcpp.html
2) download the latest version of SDL from http://www.libsdl.org/: download the Development Libraries for Mingw32 (under Windows) and the runtime libraries for Windows. You may need WinRAR to be able to unpack the .tar.gz files.
3) The runtime library contains the file SDL.DLL, put it either in your C:\Windows\System32 folder, or put one in the folder of your compiled program, and don't forget that you always have to include SDL.DLL with your program if you want other people who don't have the file to run it. Programs compiled for the newest version of SDL won't work with older versions of the DLL.
4) Unpack the SDL developer files, but not yet inside the DevC++ folder, put them in another folder.
5) Copy the SDL folder of the development files, which is inside the folder include, into the include folder of DevC++ (so that all the SDL header files are in DevC++ under include/SDL)
6) Copy the files in the lib folder of the development files, into the lib folder of DevC++.

Nahlásit jako SPAM
IP: 78.45.199.–
kikot
~ Anonymní uživatel
14 příspěvků
22. 1. 2015   #3
-
0
-

http://stackoverflow.com/questions/21394916/trouble-importing-dll-library-into-codeblocks-linker.

To snad pomuze...

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.208.–
oxidián0
Grafoman
22. 1. 2015   #4
-
0
-

Tak jsem už rozjel ten SDL. Problém byl v tom že podle návodu na blockcodes includes jsou jinde než jak to má autor projektu. Ale jsou tam ještě chyby takže zatím mi to nejde zkompilovat.

Nahlásit jako SPAM
IP: 78.45.199.–
kikot
~ Anonymní uživatel
14 příspěvků
23. 1. 2015   #5
-
0
-

tak napis az ti to pujde ;-)

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.208.–
oxidián0
Grafoman
24. 1. 2015   #6
-
0
-

jde to na verzi SDL 1.2.15 fajný program ale mám problém pochopit ty grafy u toho tutorialu, konkrétně význam reálné a imaginární složky ve spektru po Fourierově transformaci.

Nahlásit jako SPAM
IP: 78.45.199.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý