Powiedzmy, że znajduję bardzo ładną bibliotekę otwartego źródła w Internecie i teraz chcę użyć jej do mojego własnego projektu.w tym zewnętrzne nagłówki ustalające opcje kompilatora
ją pobrać, ewentualnie go skompilować i pobrać pliki nagłówkowe & statyczne/dynamiczne biblioteki.
Więc zacznę pisać własne pliki źródłowe i oczywiście, gdy chcę korzystać z tej funkcjonalności zewnętrznej biblioteki I obejmują prawo nagłówki go do moich plików źródłowych.
Teraz mogę skompilować mój plik źródłowy, upewnij się, że obejmują ścieżki i opcje linkera dla tej zewnętrznej biblioteki są ustawione prawidłowo.
I dostaję mnóstwo błędów, wszystkie pochodzące z zewnętrznych nagłówków. Okazuje się, że wymagają one niektórych flag kompilatora.
Jak znaleźć minimalne flagi kompilatora, które muszę ustawić (aby móc kompilować nagłówki z biblioteki zewnętrznej)?
Co myślałem o nim do tej pory:
- Sprawdzić je w skrypcie budynku źródła (może być dość trudne, ponieważ istnieje wiele miejsc, w których mogą być zdefiniowane i mogą one nie być minimalne flagi, ponieważ mogą one być wymagane dla wszystkich nagłówków razem, ale nie dla tych szczególnych używam)
- Google każdy komunikat o błędzie i mam nadzieję, że dam odpowiedź (może być trudne z wielu komunikatów o błędach i Google może nie znać odpowiedzi lub nie znam odpowiednich słów kluczowych, aby znaleźć odpowiedź)
- Może niektóre jak "dołączyć" skrypt budujący bibliotekę zewnętrzną do mojego własnego projektu (może być bardzo trudny, ponieważ mógłbym chcieć użyć innego systemu kompilacji i prawdopodobnie musiałbym w pełni zrozumieć system budowy, co może być trudne większe biblioteki)
to wygląda na to, że zazwyczaj jest to problem z systemem kompilacji? Dlaczego dołączasz do swojego projektu drugi kod źródłowy, zamiast korzystać z innego systemu budowania projektów? Wiem, że systemy konstrukcyjne to ból w dupie, ale to, do czego zostały stworzone. – Alex
Dołączam tylko nagłówki innego projektu. Nie wiem, jak mam używać definicji c/++ w innym projekcie bez nagłówków. – DevBen