tôi có nộp CMake đơn giản nàyTại sao CMake thêm các thư viện không cần thiết vào dự án Visual studio?
cmake_minimum_required(VERSION 2.8)
project(test)
set(SOURCES source.cpp)
add_executable(test ${SOURCES})
nơi source.cpp là một chương trình hello world đơn giản. sau đó tôi tạo ra các dự án Visual Studio
cmake -G"Visual Studio 14 2015" ..\Sources
Dự án Visual Studio tạo ra có các thư viện sau, dưới 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
Nếu tôi loại bỏ các thư viện này tôi vẫn có thể xây dựng thành công và chạy thế giới hello.
Tại sao CMake thêm tất cả các thư viện này và tôi có thể làm gì để không có chúng trong các dự án của mình?
Đó là tất cả các thư viện Windows OS chuẩn (kết nối với Windows kernel, người dùng và GDI DLL). Nhiều (hầu hết) trong số đó là bắt buộc đối với bất kỳ ứng dụng Windows nào làm được gì hơn là viết * Xin chào, thế giới * đến bàn điều khiển. –
@KenWhite OK, nhưng nếu cần thì tại sao tôi vẫn có thể chạy dự án của mình mà không liên kết chúng? – Ali
Vì bạn đang viết đơn giản * Xin chào thế giới * ứng dụng, có lẽ. –