2010-08-17 43 views
21

Sau một thời gian chủ yếu phát triển .net, tôi cần phải làm việc trong C++ theo cách đa nền tảng.Làm thế nào để thiết lập studio trực quan để phát triển nền tảng C++

Tôi không muốn từ bỏ studio trực quan, vì vậy hy vọng của tôi là có thể sử dụng studio trực quan và các cửa sổ nhắm mục tiêu như một testbuild, và sau đó một lần trong một thời gian thông qua một phương pháp kiểm tra mã trên linux hoặc mac.

Có ai có kinh nghiệm về cách thiết lập tốt nhất tính năng này không?

Tôi đặc biệt tò mò về cách bạn đảm bảo rằng những thứ như tệp dự án vẫn được đồng bộ hóa với các tệp thực hiện có thể cần trên các nền tảng * nix.

+0

Một câu hỏi hay. Tôi ghét Eclipse và GDB.Clunky, nghèo sử dụng màn hình bất động sản, một màn hình, hỗ trợ máy in tệ hại, vv ... uuugh. Windows mặc dù chỉ không có hỗ trợ hẹn giờ POSIX tôi cần cho các ứng dụng telco, và môi trường sản xuất của chúng tôi là tất cả Linux, vì vậy tôi đã tìm kiếm một giải pháp. Tôi thích giao diện của các giải pháp của WinGDB và VisualGDB mà MaHuJa đã chỉ ra bên dưới, vì vậy sẽ điều tra chúng. Bất kỳ phản hồi nào bạn có thể cung cấp sau hơn 3 năm? – RocketRoy

Trả lời

14

Trước hết, hãy chọn dự án C++ không được quản lý (để tránh nội dung .net).

Sau đó, hãy bật cấp cảnh báo (/W3 nên làm) và phải rất cẩn thận những gì bạn làm/ghi. IMHO, GCC tốt hơn trong việc giữ bạn thẳng với tiêu chuẩn (-Wall -Wextra -pedantic -std=c++11), nhưng bạn chỉ định MSVC.

Như Noah đã nói, bạn sẽ cần xây dựng hệ thống tự nó là nền tảng chéo, như CMake (có những người khác, xin đừng quên điều đó).

Hãy nhớ sử dụng nền tảng/kiến ​​trúc/biên dịch các loại độc lập, giống như std::size_t, std::(u)intptr_t, vv thay vì đơn giản int, long, unsigned: đây là một công thức cho thảm họa và Windows API ném những khoảng cách quá nhiều.

Xem here, nhưng chỉ/đặc biệt là các điểm 1, 2, 5 và 8 (và 9, nhưng khái quát hóa với svn, git, mercurial).

+0

Mẹo hay. Tôi sẽ đảm bảo thường xuyên kiểm tra và xây dựng trên các nền tảng khác. Tôi đoán rằng thiết lập ban đầu sẽ mất nhiều thời gian nhất (cấu hình libs, makefiles, v.v.) nhưng cuối cùng mọi thứ có được simpeler xuống cuối cùng phải không? – Toad

+0

Cho đến khi bạn mã một phần lớn mã và thấy rằng giả định của bạn không chính xác trên nền tảng khác :). Về lý thuyết, nó nên, nếu bạn có được quyền xây dựng hệ thống (liên quan đến linker: .lib/.dll (.dll) .a/.so andsoforth, đường dẫn, phát hiện nền tảng ...) – rubenvb

4

Tôi đặc biệt tò mò về cách bạn đảm bảo rằng những thứ như tệp dự án vẫn được đồng bộ hóa với các tệp thực hiện có thể cần trên nền tảng * nix.

Vì MS đã quyết định xóa hỗ trợ cho makefiles khỏi VS, bạn không. Bạn sử dụng một cái gì đó khác có thể tạo ra các tập tin dự án VS và chắc chắn rằng bạn giữ cho rằng thiết lập chính xác. Một cái gì đó như CMake.

+1

Chúng tôi đang sử dụng CMake để loại bỏ sự phụ thuộc vào hệ thống dự án Visual Studio. Hoạt động tốt. http://www.cmake.org/ – David

+0

Vì vậy, khi các tệp mới được thêm vào dự án, tôi sẽ làm điều đó từ cmake và sau đó khởi động studio trực quan? – Toad

+0

@toad - nhiều hơn hoặc ít hơn, vâng. VS đã không thể xuất ra các tập tin từ năm 2005 trở về trước. Thành thật mà nói, bạn tốt hơn với cái gì khác nếu bạn muốn làm phát triển nền tảng chéo. MS có khuynh hướng ngăn cản những thứ như vậy càng nhiều càng tốt và trong VS họ làm như vậy bằng cách làm cho nó khá nhiều không thể. –

3

(3 năm sau ...)

Nếu bạn có NON-EXPRESS, do đó cho phép việc sử dụng các plug-in, sau đó có những thứ như WinGDBVisualGDB để giúp bạn.

Duckduckgo cũng cho tôi biết về make-it-so mà khá lạc hậu - nhưng hiện tại có thể còn nhiều hơn nữa, vì chúng phải đơn giản hơn với các định dạng dự án dựa trên xml mới.

+0

Tôi muốn sử dụng Visual Studio để gỡ lỗi mã C/C++ của Linux, vì vậy nó trông giống như vé. Cảm ơn một triệu lần nếu nó hoạt động như quảng cáo. Nó sẽ làm cho cuộc sống của tôi dễ dàng hơn nhiều. – RocketRoy

1

Đây là một câu hỏi cổ xưa từ 6 năm trước, nhưng tôi chỉ muốn chỉ ra rằng Microsoft hiện nay có các công cụ chính thức để làm việc với linux C++ trong Visual Studio:

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

Bên cạnh đó, Windows 10 bây giờ có khả năng chạy Linux bên trong Windows, vì vậy nó sẽ làm cho cuộc sống của bạn dễ dàng hơn nhiều cho bất cứ ai vẫn quan tâm đến việc phát triển trong C++ cho Linux trên Visual Studio.

Các vấn đề liên quan