如何从CMake转换为普通的Visual Studio项目



我能够使用cmakelists.txt文件CMake构建这个HelloWorld示例项目,并生成一个visual studio项目。

project(helloworld LANGUAGES C CXX)
cmake_minimum_required(VERSION 3.5)
find_package(Idlpp-cxx REQUIRED)
if (NOT TARGET CycloneDDS-CXX::ddscxx)
find_package(CycloneDDS-CXX REQUIRED)
endif()
# Convenience function, provided by the Idlpp-cxx that generates a CMake
# target for the given IDL file. The function calls Idlcpp-cxx to generate
# source files and compiles them into a library.
idl_ddscxx_generate(ddscxxHelloWorldData_lib "HelloWorldData.idl")
add_executable(ddscxxHelloworldPublisher publisher.cpp)
add_executable(ddscxxHelloworldSubscriber subscriber.cpp)
# Link both executables to idl data type library and ddscxx.
target_link_libraries(ddscxxHelloworldPublisher ddscxxHelloWorldData_lib     CycloneDDS-CXX::ddscxx)
target_link_libraries(ddscxxHelloworldSubscriber ddscxxHelloWorldData_lib CycloneDDS-CXX::ddscxx)
set_property(TARGET ddscxxHelloworldPublisher PROPERTY CXX_STANDARD 11)
set_property(TARGET ddscxxHelloworldSubscriber PROPERTY CXX_STANDARD 11)

我需要在没有cmakelists.txt和CMake的情况下创建相同的项目

如何只使用visualstudio做到这一点如果我创建了一个空的c++项目,那么在visual studio中的CMakelists.txt中定义这些命令的位置

我试过做一个空项目。

我不知道如何在VS中执行idl_ddscxx_generate和target_link_libraries。…

如果idl文件已更改,则必须运行idl_ddscxx_generate如果我向项目中添加了新的源文件,则需要target_link_libraries。。。。

  1. 创建一个新的、空的Visual Studio项目
  2. 复制除CMake文件之外的所有源文件
  3. 在Visual Studio项目中执行任何操作。添加文件、目标、依赖项…如果您不确定,请查找CMakeLists.txt文件中的内容
  4. 删除原始项目中的所有CMake文件并复制Visual Studio项目文件
  5. 将这些更改(删除的CMake文件、添加的VS项目文件(添加到您的Subversion存储库中,也许可以在其他人可以测试、报告和改进更改的分支中执行此操作。完成后,合并分支

可能,请添加步骤0。:了解Visual Studio如何组织其项目。做一个教程,接受一些培训。

备注:无论你对CMake有什么问题,你都错过了一些东西。但您可以稍后发现这一点,并恢复您的更改,然后再次拿起CMake。

最新更新