Mam ten prosty CUpewnij złożyćDlaczego CMake dodaje niepotrzebne biblioteki do projektu Visual Studio?
cmake_minimum_required(VERSION 2.8)
project(test)
set(SOURCES source.cpp)
add_executable(test ${SOURCES})
gdzie source.cpp to prosty program Hello World. I następnie wygenerować projektu Visual Studio
cmake -G"Visual Studio 14 2015" ..\Sources
Wygenerowany projekt Visual Studio posiada następujące biblioteki, pod Configuration Properties > Linker > Input > Additional Dependencies
:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comdlg32.lib
advapi32.lib
Jeśli usunąć tych bibliotek mogę nadal skutecznie zbudować i uruchomić świat Halo.
Dlaczego CMake dodaje wszystkie te biblioteki i co mogę zrobić, aby nie mieć ich w moich projektach?
Są to wszystkie standardowe biblioteki systemu operacyjnego Windows (które łączą się z jądrem systemu Windows, użytkownikiem i bibliotekami DLL GDI). Wiele (większość) z nich jest wymaganych dla dowolnej aplikacji Windows, która robi cokolwiek więcej niż napisanie * Hello, world * do konsoli. –
@KenWhite OK, ale jeśli są potrzebne, dlaczego nadal mogę uruchomić mój projekt bez łączenia ich? – Ali
Ponieważ piszesz prostą aplikację * Hello world *, prawdopodobnie. –