Próbuję skompilować pojedynczy plik .cpp oddzielnie od procesu kompilacji.Jak skompilować plik .cpp tylko do pliku obiektowego bez wywoływania konsolidatora
Jeśli wykonuję pełną kompilację, wówczas krok kompilacji jest przesyłany do katalogu skonfigurowanego podczas tworzenia projektu.
Jednakże, jeśli po prostu poproszę o kompilację, kończę z plikiem obiektowym przechodzącym do tego samego katalogu, co źródło, a jeszcze gorzej, to idzie dalej i łączy plik obiektu z plikiem wykonywalnym, kiedy podobno robi się kompilację.
Notatka Kompiluję z clang ++ dla C++ 11, ale myślę, że nie ma żadnych zakazów dlaczego wywołuje Clang ++. Exe po raz drugi dla łączenia, które nie było wymagane.
Edit1
Przy budowie robi to
-------------- Build: Debug in GOTW (compiler: GNU GCC Compiler)---------------
clang++.exe -Wall -fexceptions -g -std=c++11 -stdlib=libstdc++ -c
C:\Work\test\2010\C++11\CLang\GOTW\gotw.cpp -o obj\Debug\GOTW.o
clang++.exe -o bin\Debug\GOTW.exe obj\Debug\GOTW.o
Output size is 203.50 KB
Process terminated with status 0 (0 minutes, 11 seconds)
0 errors, 6 warnings (0 minutes, 11 seconds)
Jednak kiedy Compile Current File
odbywa się to robi:
clang++.exe -std=c++11 -stdlib=libstdc++ -c GOTW.cpp -o GOTW.o
1 warning generated.
clang++.exe -o GOTW.exe GOTW.o
ja nie rozumiem, dlaczego to jest wyprowadzanie drugi krok, a także jak uzyskać go do korzystania z katalogów obj i bin, takich jak kompilacja ma
Większość budować systemy mogą wyjść dokładnych poleceń oni wykonującego. Spróbuj znaleźć odpowiednią opcję, pobierz komendę i odpowiednio ją zmień, aby uzyskać wyniki tam, gdzie chcesz. –
Codeblocks wypisuje dokładne polecenia, wykonuje tylko więcej poleceń niż oczekiwano, ale także ignoruje ustawienia kompilacji związane z katalogami wyjściowymi. –
Dziwnie, jeśli dodaję drugi plik źródłowy i poproszę go o skompilowanie, aby: a) zatrzymał linker jest wywoływany i b) kompiluje się do katalogów kompilacji, a nie bezpośrednio tam, gdzie znajduje się źródło. –