prog podzielony na pliki

0

w przypadku podzialu źródła na kilka plików pojawia się taki problem ze przy dołączaniu #include "plik.h" jest ograniczenie ze plik ten (tzn "plik.h") musi byc w katalogu bieżącym (czyli sztywnym ustawianym co najwyzej z poziomu kompilatora). Jak uelastycznic to w ten sposób zeby wszystkie pliki były w jednym dowolnym katalogu ? nie ma na mysli ścieżki dostępu bo chodzi mi o jakikolwiek wspólny katalog tych kilku plików

0

#include "c:\dir\file.h"
#include <c:\dir\file.h>

do postu poniżej : innych mozliwości, niż wpisanie bezpośrednio scieżki dostepu, lub ustawienie sciezki w opcjach kompilatora nie ma.

0

ale to nie jest uniwersalne bo jak przeniose na inny katalog pliki to musze zmieniać tą ścieżke dostępu

1

jaki masz kompilator ?
wiesz.. ew mozesz zrobic
#include<../asdf/xxx/sth.h>
czyli wzgledna sciezke
ew przy gcc mozesz wrzucic parametr -Isciezka do kompilacji
np
gcc -I../asdflib/
i on bedzie szukal tych .h rowniez w tym katalogu
jesli natomiast chcesz je wrzucic gdziekolwiek i chcesz zeby sobie sam znalazl, tyooo moze byc problem ;p wymaga to to zewnetrznego skryptu;> a poza tym jest do bani, co jesli masz dany plik w 5ciu miejscach na dysq i jest to zupelnie inny pliczek a nie kopia?:>>>

0

no więc skoro tak to jak będę miał programik podzielony na kilka plików, tam podam w #include'ach jakąś ścieżke albo po prostu skorzystam z katalogu bierzącego ustawionego w kompilatorze to po skompilowaniu calego programu na exe i przeniesieniu go do znajomego te wszystkie sciezki dostępu wezną w łeb, dobrze rozumuje ?

0

Nie wiem czy mowisz o c++ builderze?? Bo jesli tak to jak skompilujesz to program bedzie dzialal u kogokolwiek bez zadnej biblioteki potrzebnej. Wystarczy zebyc w Projects->opcje(Wywolywanie Ctr+Shift+F11) na zakladce Linker odznaczyl use dynamic RTL i na zakladce Packages odznaczyl opcje Build with runtime packages. Program taki zawiera min. 0,5 mb nie zaleznie co by w nim bylo (Builder c++) ale zadziala wszedzie.

0

no a w przypadku console application czyli programu dosowego ?

0

no więc skoro tak to jak będę miał programik podzielony na kilka plików, tam podam w #include'ach jakąś ścieżke albo po prostu skorzystam z katalogu bierzącego ustawionego w kompilatorze to po skompilowaniu calego programu na exe i przeniesieniu go do znajomego te wszystkie sciezki dostępu wezną w łeb, dobrze rozumuje ?

Źle rozumujesz :) Biblioteki potrzebne są tylko do kompilacji, potem program ich nie potrzebuje.

0

no tak, mówisz tutaj o bibliotekach standardowych kompilatora ale co jezeli mowa o dołączaniu własnych funkcji z innego pliku, czyli jezeli mam w pliku 1 swoje funkcje, a w pliku 2 funkcje main() to zeby skorzystac z tych pierwszych musze dołączyc w pliku 2 #include"c:\sciezka\1", czy w takim przypadku po kompilacji to tez jest łączone na stałe i sciezki nie są juz sprawdzane ? Czy po skompilowaniu otrzymam w ogóle 2 pliki?

0

W poprzednim poście mówie o wszystkich bibliotekach standardowych, niestandardowych, własnych. Dyrektywa include wstawia zawartość podanego pliku do pliku w którym została wywołana. Jeżeli masz wątpliwości to można bardzo prosto sprawdzić: skompiluj program, wrzuć folder ze swoimi bibliotekami do kosza i sprawdź czy program działa poprawnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1