String, dzielenie projektu na kilka plików.
Ostatnio zmodyfikowano 2015-04-07 17:04
elradziu Temat założony przez niniejszego użytkownika |
String, dzielenie projektu na kilka plików. » 2015-04-05 20:58:24 Witam podzieliłem sobie projekt na kilka plików standardowo nagłówkowy (*.hpp, oraz dodatkowy plik zawierający funkcje *.cpp) U mnie występują 3 pliki: main.cpp zmienne.hpp zmienne.cpp I teraz tak w pliku nagłówkowym mam definicje oraz deklaracje zmiennych oraz stałych globalnych. Do momentu gdy nie wypełniam pliku zmienne.cpp to wszystko kompiluje się bez problemów. W momencie gdy w pliku zmienne zmienne.cpp wprowadzę linię: #include <windows.h> #include <stdio.h> #include <time.h> #include <curl/curl.h> #include <string.h> #include "zmienne.hpp"
Na daną chwilę ciała funkcji które mają się znaleźć w zmienne.cpp są zapisane w main.cpp. Błąd jaki uzyskuję podczas kompilacji to: ||=== Build: Debug in WinApi (compiler: GNU GCC Compiler) ===| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|23|warning: deprecated conversion from string constant to 'LPSTR {aka char*}' [-Wwrite-strings]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|24|warning: deprecated conversion from string constant to 'LPSTR {aka char*}' [-Wwrite-strings]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|32|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|33|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|34|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|35|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|36|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|37|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|38|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|39|error: 'string' does not name a type| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|43|error: 'string' was not declared in this scope| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|44|error: variable or field 'sygnal' declared void| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|44|error: 'string' was not declared in this scope| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|45|error: variable or field 'wylaczP' declared void| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|45|error: 'string' was not declared in this scope| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|45|error: 'string' was not declared in this scope| ||=== Build failed: 14 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
Miał ktoś podobny problem z stringami i znalazł jakieś rozwiązanie? Bo dodawanie w plikach hpp czy zmienne.cpp linii: using namespace std; nic nie zmienia. |
|
Brunon3 |
» 2015-04-05 21:19:46 Pokaż te dwa pliki.
-BD. |
|
Monika90 |
» 2015-04-05 21:45:05 użycie typu string wymaga #include <string> w pliku nagłówkowym mam definicje oraz deklaracje zmiennych |
nie dawaj definicji zmiennych do pliku nagłówkowego, w pliku nagłówkowym powinny być tylko deklaracje zmiennych. |
|
Brunon3 |
» 2015-04-05 21:55:42 Czyli w .h extern int a; , a w .cpp int a = 4; (na przykład). -BD. |
|
elradziu Temat założony przez niniejszego użytkownika |
» 2015-04-06 12:53:01 Wstawiam zawartość plików: #ifndef ZMIENNE_HPP_INCLUDED #define ZMIENNE_HPP_INCLUDED using namespace std;
#define ID_PRZYCISK1 501 #define ID_PRZYCISK2 502 #define ID_PRZYCISK3 503 #define ID_PRZYCISK4 504 #define ID_PRZYCISK5 505 #define ID_PRZYCISK6 506 #define ID_PRZYCISK7 507 #define ID_PRZYCISK8 508 #define ME_USTAWIENIA 509 #define ME_ZAKONCZ 510
int czas = 3; int stanL = 1; int stanB = 1;
LPSTR NazwaKlasy = "Klasa Okienka"; LPSTR Ustawienia = "Ustawienia"; MSG Komunikat; HWND hwnd; HWND hwnd2; CURL * curl; CURLcode res; clock_t odliczanie;
string adres = "http://192.168.1.121/"; string holding = "Pio?sw=pa0&a="; string B_bieg = "Pio?sw=pa1&a="; string B_stop = "Pio?sw=pa2&a="; string B_klucz = "Pio?sw=pa3&a="; string L_bieg = "Pio?sw=pa4&a="; string L_stop = "Pio?sw=pa5&a="; string L_klucz = "Pio?sw=pa6&a=";
bool wyslij_r( string serwer ); void sygnal( string dane ); void wylaczP( string dane, string prom );
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); LRESULT CALLBACK WndProcChild( HWND hwnd2, UINT msg, WPARAM wParam, LPARAM lParam );
#endif
#include <windows.h> #include <stdio.h> #include <time.h> #include <curl/curl.h> #include <string>
#include "zmienne.hpp"
Do kolegi wyżej. Czy do projektu dodam bibliotekę string czy string.h itd. nic to nie zmienia :/ Ciągle błędy :/ |
|
Brunon3 |
» 2015-04-06 12:56:44 Przed każdą zmienną w .h daj extern a to co aktualnie masz w .h w "//Zmienne:" przekopiuj w czystej postaci (bez extern ) do .cpp. -BD. |
|
elradziu Temat założony przez niniejszego użytkownika |
» 2015-04-06 14:08:54 Brunon3 zrobiłem jak napisałeś, tylko teraz wyrzuca inne błędy :/ ||=== Build: Debug in WinApi (compiler: GNU GCC Compiler) ===| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|23|warning: deprecated conversion from string constant to 'LPSTR {aka char*}' [-Wwrite-strings]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|24|warning: deprecated conversion from string constant to 'LPSTR {aka char*}' [-Wwrite-strings]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|32|warning: 'adres' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|33|warning: 'holding' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|34|warning: 'B_bieg' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|35|warning: 'B_stop' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|36|warning: 'B_klucz' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|37|warning: 'L_bieg' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|38|warning: 'L_stop' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.hpp|39|warning: 'L_klucz' initialized and declared 'extern' [enabled by default]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp||In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|78|warning: variable 'g_BHB' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|81|warning: variable 'g_BHL' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|84|warning: variable 'g_ALARM' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|89|warning: variable 'B_hPrzycisk1' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|90|warning: variable 'B_hPrzycisk2' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|91|warning: variable 'B_hPrzycisk3' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|92|warning: variable 'Child_Zakoncz' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|104|warning: variable 'L_hPrzycisk1' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|105|warning: variable 'L_hPrzycisk2' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|106|warning: variable 'L_hPrzycisk3' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|114|warning: variable 'A_hPrzycisk1' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|115|warning: variable 'A_hPrzycisk2' set but not used [-Wunused-but-set-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp||In function 'bool wyslij_r(std::string)':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|230|warning: unused variable 'try_ask' [-Wunused-variable]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|231|warning: label 'START_ASK' defined but not used [-Wunused-label]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp||In function 'void sygnal(std::string)':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|254|warning: label 'START_ASK' defined but not used [-Wunused-label]| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp||In function 'bool wyslij_r(std::string)':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|249|warning: control reaches end of non-void function [-Wreturn-type]| obj\Debug\zmienne.o||In function `_tcf_0':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|9|multiple definition of `adres'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|17|first defined here| obj\Debug\zmienne.o||In function `_tcf_0':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|9|multiple definition of `holding'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|17|first defined here| obj\Debug\zmienne.o||In function `_tcf_0':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|9|multiple definition of `B_bieg'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|17|first defined here| obj\Debug\zmienne.o||In function `_tcf_0':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|9|multiple definition of `B_stop'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|17|first defined here| obj\Debug\zmienne.o||In function `_tcf_0':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|9|multiple definition of `B_klucz'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|17|first defined here| obj\Debug\zmienne.o||In function `_tcf_1':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|10|multiple definition of `L_bieg'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|22|first defined here| obj\Debug\zmienne.o||In function `_tcf_1':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|10|multiple definition of `L_stop'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|22|first defined here| obj\Debug\zmienne.o||In function `_tcf_1':| C:\Users\Radek\Documents\Code Blocks projects\WinApi\zmienne.cpp|10|multiple definition of `L_klucz'| obj\Debug\program.o:C:\Users\Radek\Documents\Code Blocks projects\WinApi\program.cpp|22|first defined here| ||=== Build failed: 16 error(s), 26 warning(s) (0 minute(s), 2 second(s)) ===|
|
|
SeaMonster131 |
» 2015-04-06 14:34:08 Coś wydaje mi się, że nie zrobiłeś tak jak on ci podpowiedział. Czyli w .h extern int a; , a w .cpp int a = 4; (na przykład). |
Pokaż aktualny kod. |
|
« 1 » 2 |