Преобразование файла CMake.txt в файл .vcxproj Проект C++ Visual Studio

Это какой-либо инструмент или возможность преобразовать проект C++ CMake в проект C++ Visual Studio с файлом .vcxproj?

Мне это нужно, потому что мы хотим предложить поддержку CMake в проекте, над которым я работаю, но сначала нам нужно сделать это преобразование. Я много искал и ничего не нашел об этом преобразовании, по крайней мере, пока.

Любое мнение или предложение высоко ценится. Спасибо!

CMake генерирует .vcxproj файлы... Вы пытались запустить CMake в своем проекте, чтобы создать .vcxproj файл?

Kevin 19.07.2019 16:50

Из файла CMake вы можете сгенерировать проект визуальной студии, да.

Botje 19.07.2019 16:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
1 319
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Это то, что делает cmake, генерирует проекты практически для любой IDE или менеджера сборки.

Так что для VS 2017 его можно использовать так:

cd "<path where CMakeLists.txt is located>"
mkdir build
cd build
cmake -DCMAKE_CONFIGURATION_TYPES = "Debug;Release" -DCMAKE_GENERATOR_PLATFORM=x64 -G "Visual Studio 15 2017" ..
cmake --open .

CMake может изначально генерировать решения VS.

Если у вас установлена ​​визуальная студия, CMake будет использовать ее по умолчанию.

cd "<path where CMakeLists.txt is located>"

# Creates build folder if it doesn't already exist
# Assuming I only have VS2022 installed it will just use that by default
# If you want to be explicit you can use do `-G "Visual Studio 17 2022"`
cmake -B build/

# Open IDE (works for XCode/Visual Studio)
cmake --open build

В качестве альтернативы Visual Studio теперь также изначально читает CMake:

https://devblogs.microsoft.com/cppblog/whats-new-for-c-cross-platform-developers-in-visual-studio-2022/

Таким образом, вы можете использовать Visual Studio в качестве редактора, Ninja для сборки и CMake для управления им. У них есть много замечательных функций для кроссплатформенной разработки.

Другие вопросы по теме