Struktura i budowanie projektu

Struktura i budowanie projektu
J1
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 4 lata
  • Postów:33
0

Hej,
jakie materiały polecacie do nauki budowania projektu w C++ (make? cmake? coś innego?)?

Próbuje zrobić w ramach nauki projekt biblioteki do macierzy na własny użytek i mam problem z budowaniem projektu.
Zaczynałem na win10 i VS2017, ale z uwagi na problemy w konfiguracji VS z CUDA przesiadłem się na Ubuntu. Przy pracy w VS nie było problemu z kompilacją projektu i wszystko działo się automatycznie. Teraz próbuje robić to w VSCode z zainstalowaną wtyczką do C++, ale kompilator nie łączy automatycznie plików nagłówkowych z z ich ciałem w innym pliku. Przykład:

Kopiuj
//header_file.h
#include <iostream>
void my_func();

//header_file.cpp
#include <iostream>
#include "header_file.h"
void my_func(){
std::cout << "Hello world!";
}

//main.cpp
#include "header_file.h"
#include "header_file.cpp"       // <- to nie było konieczne w VS2017

int main(){

my_func();
return 0;
}

Dodatkowo nie wiem jak dołączać dodatkowe biblioteki do projektu (np. gtest) i obecnie buduje testy skryptem bashowym, który musi skakać po folderach, żeby testy się skompilowały.
Jestem totalnym n00bem jeśli chodzi o narzędzia typu make, cmake itd., więc to o co Was proszę to jakieś wskazówki od czego zacząć, żeby stworzyć projekt, który po ściągnięciu z repo budował się jedną komendą.

Dzięki!

PS Byłbym też wdzięczny za jakieś materiały do konwencji nazywania folderów w projekcie.

edytowany 1x, ostatnio: jpl126
RE
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 godziny
0

cmake zaczynałe uczyć się od
http://derekmolloy.ie/hello-world-introductions-to-cmake/
można też spojrzeć na
https://www.jetbrains.com/help/clion/quick-cmake-tutorial.html

qt creator czy eclipse się też integrują z cmake.


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile
edytowany 1x, ostatnio: revcorey

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.