Cmake là gì

Gần đây tôi gồm thời gian đụng vào CMake, phải có được sự hiểu biết một chút ít về nó. Hy vọng hữu dụng cho anh em.

Bạn đang xem: Cmake là gì

Nó hỗ trợ nhân kiệt hình thành Makefile một bí quyết kết quả. Nhất là đối với các dự án phức hợp. Nó cũng cung cấp thêm các cỗ sinc khác để sinch kết cấu cai quản source cho các IDE không giống nhau nhỏng Project cho Visual Studio, etc.Trong số lượng giới hạn, tôi sẽ nói tới bài toán sử dụng CMake để build một simple project bên trên Linux.

Ta vẫn chuyển phiên quanh ví dụ kinh điển là chế tác lịch trình Hello World, tuy thế thưởng thức hiển thị câu kia trên ít nhất 3 ngữ điệu. ja,en,vi. Cmùi hương trình vẫn viết bằng ngữ điệu C.

(Link tyêu thích khảo)

Ví dụ được thực hiện trong thư mục /home/oedev/Code/CMake

Nội dung chủ yếu bao gồm những phần sau,

Cmùi hương trình Hello World mang đến En.Thêm ngữ điệu Ja, Vi vào chương trình bên trên.Thêm ngôn ngữ Spain(Es) vào một tình huống không giống.

============================================================

1.Cmùi hương trình Hello World cho En

Ta sẽ có được file source như sau:mainapp.c

#include//// Greeting message in En//void greeting_en()printf("Hello world n");//// Main functions//int main(int argc, char* argv<>)greeting_en();return 0;File áp dụng mang lại CMake là một tệp tin CMakeLists.txt.Nó sẽ sở hữu được văn bản nlỗi sau:

## Điều kiện về version tối tphát âm để phát âm được tệp tin CMakeList.txt này.#cmake_minimum_required(VERSION 2.8.12)## Tên project thường xuyên sẽ là tên gọi file chạy#project (helloworld)## Định nghĩa mối tương quan giữa file chạy với tệp tin nguồn#add_executable(hellworld mainapp.c)Đặt cả 2 tệp tin bên trên vào thuộc 1 thỏng mục:Nội dung được soát sổ bằng lệnh tree nhỏng sau

CMake├── CMakeLists.txt└── mainapp.cFile CMakeList.txt đó là tệp tin quan niệm source thực hiện ngữ điệu cơ mà CMake đọc được.Đến phía trên, ta tiến hành quá trình chủ yếu của CMake. Đó là có mặt Makefiles mang đến project đơn giản này. Ta đề nghị gửi vào bên phía trong thỏng mục CMake trước khi chạy lệnh bên dưới đây:

$ cmake .Dấu . vùng phía đằng sau vô cùng đặc trưng. Đó là con đường dân mang lại thỏng mục không tệp tin CMakeList.txt tốt rất có thể cụ nó bằng $(PWD) vào trường vừa lòng này.Nội dung chạy ngừng đề xuất như vậy này:

oedev
OECrossDev:~/Code/CMake$ cmake .-- The C compiler identification is GNU 4.8.2-- The CXX compiler identification is GNU 4.8.2-- Check for working C compiler: /usr/bin/cc-- Chechồng for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Cheông xã for working CXX compiler: /usr/bin/c++-- Cheông xã for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Configuring done-- Generating done-- Build files have sầu been written to: /home/oedev/Code/CMakeNội dung tlỗi mục sau khoản thời gian chạy lệnh trên:

oedev
OECrossDev:~/Code/CMake$ tree -L 2.├── CMakeCabịt.txt├── CMakeFiles│ ├── 2.8.12.2│ ├── cmake.check_cache│ ├── CMakeDirectoryInformation.cmake│ ├── CMakeOutput.log│ ├── CMakeTmp│ ├── hellworld.dir│ ├── Makefile2│ ├── Maketệp tin.cmake│ ├── progress.marks│ └── TargetDirectories.txt├── cmake_install.cmake├── CMakeLists.txt├── maintiện ích.c└── MakefileNlỗi ta thấy, có nhiều tệp tin với tlỗi mục được tạo nên lúc ta chạy CMake. Nhưng trong số lượng giới hạn bài bác này ta chỉ quan tâm đến Makefile thôi.Ta cũng thấy rằng lịch trình không được build, tuyệt nói cách khác CMake chỉ làm cho trọng trách của chính nó đến đây thôi. Tức là có mặt Makefile , rồi nghỉ ngơi.

Giờ ao ước build project ta vừa tạo lúc đầu (chỉ có một tệp tin .c), ta đã chạy Makefiles thôi.

oedev
OECrossDev:~/Code/CMake$ makeScanning dependencies of target hellworld<100%> Building C object CMakeFiles/hellworld.dir/mainapp.c.oLinking C executable hellworld<100%> Built target hellworldKết trái chiếm được như sau

oedev
OECrossDev:~/Code/CMake$ lsCMakeCache.txt CMakeFiles cmake_install.cmake CMakeLists.txt hellworld maintiện ích.c MakefileTa vẫn thây tệp tin helloword được hiện ra, đây đó là file chạy:

oedev
OECrossDev:~/Code/CMake$ ./hellworldHello worldGiờ ta đang thêm lời xin chào bởi ngữ điệu Ja, Vi vào chương trình bên trên.

2.Thêm ngữ điệu Ja, Vi vào chương trình trên.

Ta đã tổ chức triển khai lại source như sau:

oedev
OECrossDev:~/Code/CMake$ tree.├── CMakeLists.txt├── include│ ├── greetings_en.h│ ├── greetings_ja.h│ └── greetings_vi.h└── src ├── greetings_en.c ├── greetings_ja.c ├── greetings_vi.c └── mainphầm mềm.cDo cấu tạo thỏng mục đã chuyển đổi, vị trí những file nguồn cũng vậy.Ta buộc phải thay đổi tệp tin CMakeList.txt nhằm cân xứng cùng với đổi khác này.Nội dung file này đã thành nhỏng sau:

*CMakeList.txt*## Điều kiện về version#cmake_minimum_required(VERSION 2.8.12)## Tên project#project (helloworld)## Knhì bảo thư mục đựng tệp tin header (.h)#include_directories(include)## Thêm tự tệp tin mối cung cấp bằng lệnh *set*#set(SOURCES src/mainapp.c src/greetings_en.c src/greetings_ja.c src/greetings_vi.c)## Thêm một tập các file bởi một bộ thanh lọc trong thỏng mục chưa source# Đây là bí quyết nhanh khô với phổ biến hơn.##file(GLOB SOURCES "src/*.c")## Định nghĩa sự tương quan giữa file chạy với những tệp tin nguồn.#add_executable(hellworld $SOURCES)Ta vẫn chạy cmake nhằm sinc Makefiles với build chương trình với Makefiles coi công dụng cầm nào:Với các sử dụng hàm set:Chạy cmake

oedev
OECrossDev:~/Code/CMake$ cmake .-- The C compiler identification is GNU 4.8.2-- The CXX compiler identification is GNU 4.8.2-- Cheông chồng for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Chechồng for working CXX compiler: /usr/bin/c++-- Cheông xã for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Configuring done-- Generating done-- Build files have been written to: /home/oedev/Code/CMakeChạy Make

oedev
OECrossDev:~/Code/CMake$ makeScanning dependencies of target hellworld< 25%> Building C object CMakeFiles/hellworld.dir/src/mainphầm mềm.c.o< 50%> Building C object CMakeFiles/hellworld.dir/src/greetings_en.c.o< 75%> Building C object CMakeFiles/hellworld.dir/src/greetings_ja.c.o<100%> Building C object CMakeFiles/hellworld.dir/src/greetings_vi.c.oLinking C executable hellworld<100%> Built target hellworldKiểm tra thư mục

oedev
OECrossDev:~/Code/CMake$ tree -L 2.├── CMakeCabít.txt├── CMakeFiles│ ├── 2.8.12.2│ ├── cmake.check_cache│ ├── CMakeDirectoryInformation.cmake│ ├── CMakeOutput.log│ ├── CMakeTmp│ ├── hellworld.dir│ ├── Makefile2│ ├── Makefile.cmake│ ├── progress.marks│ └── TargetDirectories.txt├── cmake_install.cmake├── CMakeLists.txt├── hellworld├── include│ ├── greetings_en.h│ ├── greetings_ja.h│ └── greetings_vi.h├── Makefile└── src ├── greetings_en.c ├── greetings_ja.c ├── greetings_vi.c └── mainapp.cKết trái chạy cmùi hương trình

oedev
OECrossDev:~/Code/CMake$ ./hellworldHello worldKonichiwa!!!Xin chao !!!!lúc cụ set comm& bởi command tệp tin (GLOB) thì đến tác dụng gần như là hệt nhau nhau.

2.1 Tạo tlỗi mục nhằm build riêng

À, bao gồm một vấn đề cần nói tại đây, vừa ta bao gồm thấy không ít tệp tin (ngoại trừ Makefile) được hiện ra trong quá trình cmake chạy.Nếu để các tệp tin kia bình thường cùng với thỏng mục những file source, header ta vừa tạo nên đang gây nên vấn đề, cực nhọc cai quản. Ta đang tống các tệp tin đó vào 1 tlỗi mục, call là tlỗi mục build.Cấu trúc thỏng mục vẫn đổi khác nhỏng sau:

oedev
OECrossDev:~/Code/CMake$ tree.├── build├── CMakeLists.txt├── include│ ├── greetings_en.h│ ├── greetings_ja.h│ └── greetings_vi.h└── src ├── greetings_en.c ├── greetings_ja.c ├── greetings_vi.c └── mainphầm mềm.cGiờ ta vẫn triển khai tổng thể quá trình cmake cùng make phía bên trong thư mục build

oedev
OECrossDev:~/Code/CMake/build$ cmake ..-- The C compiler identification is GNU 4.8.2-- The CXX compiler identification is GNU 4.8.2-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++-- Cheông xã for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Configuring done-- Generating done-- Build files have been written to: /home/oedev/Code/CMake/buildTa sử dụng .. cố kỉnh vày .

Xem thêm: Tải Game Summertime Việt Hóa Android:Cá Cược Jbo, Summertime Saga Việt Hoá Full Ver: 0

như nghỉ ngơi những câu lệnh trước, vị ta sẽ chuyển vào tlỗi mục ./build buộc phải tệp tin CMakeList.txt ở thỏng mục thân phụ của thỏng mục này. Ta cần nói mang lại cmake biết điều đó.Tiếp tục chạy lệnh make, ta sẽ có câu chữ thư mục CMake sẽ nhỏng sau:

oedev
OECrossDev:~/Code/CMake$ tree -L 3.├── build│ ├── CMakeCabít.txt│ ├── CMakeFiles│ │ ├── 2.8.12.2│ │ ├── cmake.check_cache│ │ ├── CMakeDirectoryInformation.cmake│ │ ├── CMakeOutput đầu ra.log│ │ ├── CMakeTmp│ │ ├── hellworld.dir│ │ ├── Makefile2│ │ ├── Makefile.cmake│ │ ├── progress.marks│ │ └── TargetDirectories.txt│ ├── cmake_install.cmake│ ├── hellworld│ └── Makefile├── CMakeLists.txt├── include│ ├── greetings_en.h│ ├── greetings_ja.h│ └── greetings_vi.h└── src ├── greetings_en.c ├── greetings_ja.c ├── greetings_vi.c └── mainphầm mềm.cNlỗi ta thấy, toàn cục câu chữ của quá trình chạy cmake với make được duy trì trong thư mục ./build, phần đinch nghĩa source code bên phía ngoài không bị ảnh hưởng gì không còn.Để chạy chương trình, ta nên vào thỏng mục ./buildKết trái vẫn chính là :

oedev
OECrossDev:~/Code/CMake/build$ ./hellworld Hello worldKonichiwa!!!Xin chao !!!!3. Thêm ngôn ngữ Spain(es) vào một tình huống khácTình huống khác ngơi nghỉ đây là gì? Tôi ao ước kể tới trường hợp nlỗi sau:Giả sử ta gồm một thư viện cất lời kính chào cho 3 ngôn từ En, Ja, Vi.Ta phải thêm ngôn ngữ Es để có một lịch trình với loài chào của 4 ngữ điệu En, Ja, Vi, Es.

Trước không còn, ta cần hiểu thỏng viện như thế nào? Trong C/C++ để thực hiện lại được mã mối cung cấp hoặc để đảm bảo an toàn mã nguồn. Người ta thường xuyên build hầu hết mã mối cung cấp ý muốn thực hiện lại hoặc đưa cho những người không giống thành các thư viện. Về phương diện tệp tin ta thấy được, tlỗi viện sẽ sở hữu được 2 loại: thư viện tĩnh(.a) với tlỗi viện động(.so).Các hàm ta đã viết vào tệp tin .c vẫn nằm trong các file thư viện này.

Nếu thư viện chỉ gồm chũm thôi thì không đủ, ta cần biết tlỗi viện đó cung cấp gì cho bên ngoài hoàn toàn có thể sử dụng được. Có thể là đổi mới cục bộ, có thể là hàm.

Các hàm với biến hóa này phải đặt nơi nào đó trong các tệp tin header . Rồi lúc build với source nhưng ta viết, trình biên dịch đã biết phương pháp compile hoặc links đến phù hợp.File header hay được hỗ trợ tất nhiên những tệp tin .a(.so). Nếu không có, thì buộc phải tài giỏi liệu diễn tả.Có cả tư liệu và tệp tin header là vấn đề lphát minh duy nhất.

Giả định rằng, ta có tlỗi viện chưa cách xử lý hiển thị 3 loài xin chào En, Ja, Vi. Nhưng ta chỉ bao gồm file header biểu lộ prototype của các hàm cơ mà ko thấy được source của nó.

3.1 Build thỏng viện tĩnh

Kết trái của đoạn này vẫn là file tlỗi viện greetings_en_ja_vi.a và 3 file header kèm theo.Sau kia ta có thể xóa 3 file source(.c) đi được.Về cấu trúc file, vì chưng thỏng viện không đựng hàm main() được, ta đề xuất bỏ tệp tin mainapp.c đi.Nhớ nhé, tlỗi viện thì chỉ cần tệp tin header thôi là cần sử dụng được rồi.Thỏng viện mẫu mực sẽ không đề nghị đến xem code, ta chỉ cần coi thể hiện API hoặc tệp tin header là có thể cần sử dụng được rồi.Cấu trúc tệp tin mới đang như thế này:

oedev
OECrossDev:~/Code/CMake$ tree -L 2.├── CMakeLists.txt├── include│ ├── greetings_en.h│ ├── greetings_ja.h│ └── greetings_vi.h└── src ├── greetings_en.c ├── greetings_ja.c └── greetings_vi.cGiờ, ta nên sửa lại tệp tin CMakeList.txt, nó sẽ thành như sau:CMakeList.txt

## Điều khiếu nại phiên bản nhỏ tuổi nhất của CMake#cmake_minimum_required(VERSION 2.8.12)## Tên project#project (multilang_greetings)## Thêm thỏng mục đựng các file header (.h)#include_directories(include)## Thêm một tập các tệp tin source#file(GLOB SOURCES "src/*.c")## Tlỗi viện bao gồm đầy đủ source như thế nào.# Loại thư viện là STATIC (tĩnh)# Tên thỏng viện hoàn toàn có thể không giống tên *project*#add_library(greetings_enjavi STATIC $SOURCES)Chạy tiếp cmakemake vào tlỗi mục build:Ta sẽ tiến hành công dụng nlỗi sau:Chạy Cmake, tác dụng gần như ko đổi khác đối với trước:

oedev
OECrossDev:~/Code/CMake/build$ cmake ..-- The C compiler identification is GNU 4.8.2-- The CXX compiler identification is GNU 4.8.2-- Cheông xã for working C compiler: /usr/bin/cc-- Cheông chồng for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Check for working CXX compiler: /usr/bin/c++-- Chechồng for working CXX compiler: /usr/bin/c++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Configuring done-- Generating done-- Build files have sầu been written to: /home/oedev/Code/CMake/builChạy make:

oedev
OECrossDev:~/Code/CMake/build$ makeScanning dependencies of target greetings_enjavi< 33%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_vi.c.o< 66%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_ja.c.o<100%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_en.c.oLinking C static library libgreetings_enjavi.a<100%> Built target greetings_enjaviTa thấy rằng thương hiệu tlỗi viện ra đời là libgreetings_enjavi.a, như vậy tiền tố lib được chế tạo thương hiệu tlỗi viện ta đã khai báo với add_library trong file CMakeList.txt.Ta có thể bình chọn xem tlỗi viện này chứa vật gì, bởi câu lệnh ar

oedev
OECrossDev:~/Code/CMake/build$ ar -t libgreetings_enjavi.agreetings_vi.c.ogreetings_ja.c.ogreetings_en.c.oTa đang thấy không tồn tại tệp tin chạy làm sao được hiện ra vào tlỗi mục build. Đúng suôn sẻ, ta cần build thư viện.Ta cũng kiểm soát kích thước file này:

oedev
OECrossDev:~/Code/CMake/build$ ls -lh libgreetings_enjavi.a -rw-rw-r-- 1 oedev oedev *4.9K* 8月 17 23:13 libgreetings_enjavi.aĐó là 4.9K (dung tích NET), bám dính trên đĩa vững chắc phải rộng.

3.2 Build thư viện động

Ta đang build thỏng viện tĩnh, được file .a (một tệp nén không 3 tệp tin .o). Kích thước 4.9K(NET)Giờ ra build thỏng viện đụng.Vậy động với tĩnh khác nhau sống ở đâu, vì sao phải build cả đụng làm những gì.Cthị trấn tương đối dài, tôi vẫn trình diễn nđính thêm gọn. Thỏng viện tĩnh, có nghĩa là toàn bộ giải pháp xử lý của số đông hàm gần như bên trong tlỗi viện đó rồi. Ví dụ, nó Call hàm printf vào source .c, thì lúc tạo ra thư viện tĩnh, nó ôm toàn cục xử trí của printf vào trong file .a cơ mà ta vừa chế tác.Còn thư viện rượu cồn, thì không làm thế, nó giữ gìn đọc tin báo là, nơi này Call hàm printf với những tđê mê số x,y,z nào đó. Khi như thế nào chạy thì hỏi tiếp xem hàm đó ở đâu, giải pháp xử lý núm làm sao rồi mới truyền những tmê mẩn số nhằm xử trí.

Cấu trúc những tệp tin source, header ko đổi khác gì so với lúc build tlỗi viện tĩnh.Ta đề nghị biến đổi file CMakeList.txt một chút:Nó sẽ sở hữu văn bản như vậy này:

## Điều khiếu nại phiên bản nhỏ tuổi tuyệt nhất của CMake#cmake_minimum_required(VERSION 2.8.12)## Tên project#project (multilang_greetings)## Thêm thư mục cất những tệp tin header (.h)#include_directories(include)## Thêm một tập những tệp tin source#file(GLOB SOURCES "src/*.c")## Thư viện bao gồm hồ hết source nào.# Loại tlỗi viện là SHARED(động, thực chất ko gần cạnh nghĩa mang đến lắm)# Tên tlỗi viện hoàn toàn có thể không giống thương hiệu *project*#add_library(greetings_enjavi SHARED $SOURCES)Kết quả của lúc chạy CMake là không chuyển đổi gì, còn lúc chạy make, nó đã như vậy này:

oedev
OECrossDev:~/Code/CMake/build$ makeScanning dependencies of target greetings_enjavi< 33%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_vi.c.o< 66%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_ja.c.o<100%> Building C object CMakeFiles/greetings_enjavi.dir/src/greetings_en.c.oLinking C shared library libgreetings_enjavi.so<100%> Built target greetings_enjaviThỏng viện được xuất hiện là libgreetings_enjavi.so, cũng bắt đầu với tiền tố lib, mà lại phần không ngừng mở rộng là .so.Với tlỗi viện đụng, ta đang đánh giá câu chữ nlỗi sau:

oedev
OECrossDev:~/Code/CMake/build$ ldd libgreetings_enjavi.so linux-vdso.so.1 => (0x00007fff3e7fc000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6cf04e7000) /lib64/ld-linux-x86-64.so.2 (0x00007f6cf0acd000)Thực ra mình cũng thiếu hiểu biết nhiều kĩ mấy mẫu này, rất tốt ko giải thích gì. ;))

3.3 Thêm ngữ điệu Es

Giờ ta vẫn gồm vào tay rất thỏng viện với 2 phiên bản, tĩnh cùng rượu cồn.Ta đang viết code thực hiện bọn chúng, bên cạnh đó thêm tác dụng lời xin chào bởi giờ Spain nữa.

Với thư viện tĩnhGần nlỗi vô cùng giống thỏng viện động, chỉ không giống thương hiệu file thỏng viện thôi.Ta chỉ việc vắt libgreetings_enjavi.so trong tệp tin CMakeList.txt tại vị trí bên dưới bởi libgreetings_enjavi.a, ta đã build ở vị trí trên thôi.

Với thư viện độngCấu trúc thư mục đang nlỗi sau:

oedev
OECrossDev:~/Code/CMake$ tree -L 2.├── build├── CMakeLists.txt├── include│ ├── greetings_en.h│ ├── greetings_es.h│ ├── greetings_ja.h│ └── greetings_vi.h├── lib│ └── libgreetings_enjavi.so└── src ├── greetings_es.c └── mainphầm mềm.cTa cũng cần sửa lại file CMakeList.txt nữaNó sẽ thành như thế này:CMakeList.txt

## Ràng buộc về version#cmake_minimum_required(VERSION 2.8.12)## Tên project#project (multilang_greetings)## Khai báo địa điểm không tlỗi viện (.so)#set (PROJECT_LINK_LIBS libgreetings_enjavi.so)link_directories(lib)## Nơi chưa những tệp tin header(.h)#include_directories(include)## Thêm source .c bằng lệnh set##set(SOURCES src/greetings_es.c)## Thêm source .c bằng tệp tin GLOB#file(GLOB SOURCES "src/*.c")## File chạy sẽ được tạo thành như thế nào# Sử dụng thư viện sẽ knhị báo qua PROJECT_LINK_LIBS#add_executable(helloworld $SOURCES)target_link_libraries(helloworld $PROJECT_LINK_LIBS)Sau kia, ta cũng chạy CMakeMake để tạo ra tệp tin chạy:Kết trái của việc chạy CMake phần lớn vẫn vậy.Còn tác dụng của Make vẫn như vậy này:

oedev
OECrossDev:~/Code/CMake/build$ makeScanning dependencies of target helloworld< 50%> Building C object CMakeFiles/helloworld.dir/src/maintiện ích.c.o<100%> Building C object CMakeFiles/helloworld.dir/src/greetings_es.c.oLinking C executable helloworld<100%> Built target helloworldFile chạy là helloworldKết trái chạy của tệp tin này vẫn như thế này:

oedev
OECrossDev:~/Code/CMake/build$ ./helloworldHello worldKonichiwa!!!Xin chao !!!!Hola!!!Trên trên đây chỉ bộc lộ phương pháp sử dụng CMake với cùng 1 ví dễ dàng bên trên Linux( tôi dung Ubuntu). Do nội dung bài viết đã quá dài, tôi ko biểu lộ bí quyết thực hiện trên Window (mang lại Visual Studio) của CMake. Về cơ phiên bản, họ sẽ có được một lịch trình CMake (bao gồm GUI) để hỗ trợ việc export một source đựng tệp tin CMakeList.txt ra một tlỗi mục cất project Visual Studio. Có mấy điểm chăm chú làm việc đây;

*

Thứ đọng từ thực hiện đang là:

là tlỗi mục mang đến source code, sẽ đựng tệp tin CMakeList.txt là thỏng mục đựng cả project Visual Studio. nhằm lựa chọn các loại Project đã export cùng các tyêu thích số kèm theo. giúp thấy công dụng.

Xem thêm: Phần Mềm Macbook & Imac Miễn Phí, Những Phần Mềm Nên Cài Cho Chiếc Macbook Của Bạn

Chụ ý ngơi nghỉ đây là cho dù ta gồm export ra project rồi mà lại source nhưng project kia không số đông sinh hoạt dạng tsay mê chiếu đến những tệp tin source chứa vào tlỗi mục chọn bởi . Như vậy tạo thành mang lại source ban sơ độc lập với project, dễ cập nhật Khi đề xuất build bên trên những hệ điều hành. Nhưng đề nghị để ý lúc di chuyển thư mục source đó.


Chuyên mục: Hỏi Đáp