c++ - 如何将 cmake 项目转换为 Visual Studio 等效项目?

标签 c++ visual-studio-2010 cmake

情况如下:我有一个程序的源代码(我们称之为programA)(用C和C++编写),以及CMakeLists.txt和CTestConfig.cmake文件。我已经使用 CMake 的图形用户界面安装了 programA,很明显,它有效。它创建了 .exe 文件(我正在使用 Windows 7 操作系统)。

问题是,现在,我被要求编辑程序(因此,我必须能够编辑代码并在进行更改时对其进行调试)。我还需要编译它,但不再是在 .exe 中,而是在 .dll 中,这样我就可以将它添加到我们拥有的网站中。

我在论坛上读到,如果需要,CMake 可以将 programA 编译为 .dll,但由于我需要进行一些更改,所以我认为 CMake 调试并不像完全使用 VS 那样有用和简单。据我对CMake语言的了解,CMakeLists.txt主要用于检查用户的操作系统以及添加一些库,以防找不到它们。

我必须承认我对 CMake 指令编程一无所知,因为我主要使用 ASP.NET、C、C++ 和 C#。然后,我的想法是尝试仅在 Visual Studio 2010 中工作,而不是使用 cmake,所以一旦我将程序“适应”到 VS 并且可以仅使用 VS 进行编译,我就准备开始我的工作了。所以我的问题是如何执行 CMake 仅使用 Visual Studio 执行的相同任务(有没有办法在 VS 中实现 CMake 指令?),VS 可以通过接收类似于 CMake.txt 文件的参数来进行编译(尽管它需要翻译成另一种语言)?

为了跳过 CMake 的使用,我尝试将源代码复制到 VS 中的新项目中。然而,由于它在编译时不使用 CMake 指令,因此会出现几个错误,其中大多数与找不到某些 headers.h 有关(因为它们可能位于子文件夹中)。而且有太多的子文件夹需要将路径添加到预定义的搜索目录中,这需要很长时间。

很抱歉我无法更准确地解释。我擅长自己编写小项目,但这是我第一次编写别人的程序。如果有任何不明白的地方,请随时询问

我非常感谢您提供的任何建议/意见/指导。

最佳答案

要创建 dll,请使用 add_library 命令和 SHARED 关键字

add_library(mylib SHARED ${files})

这对于 CMake 来说很容易,不要回到视觉效果,这最终会更困难

关于c++ - 如何将 cmake 项目转换为 Visual Studio 等效项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18728759/

相关文章:

c++ - 求出 1 到 N 之间所有数字的总和可被 x 或 y 整除

c++ - 非常量左值引用类型 _normal_iterator<> 无法在 gcc 中绑定(bind)类型为 _normal 的临时迭代器

c++ - 窗体头文件中的 "error C2653: System is not a class or a namespace name",Visual C++

visual-studio-2010 - 我失去了波浪状的红色下划线功能

c++ - 在 CMake 中正确配置 boost

c++ - 在 Visual Studio 中使用多个文件时如何阻止类被重新定义

c++ - clang 3.3 可以在 vs 2010 中编译带有命名空间的代码吗?

sql-server - 无法加载 Microsoft.SqlServer.BatchParser 或其依赖项之一

windows - Windows 中的 cmake 问题

c++ - 您只需要构建一次 googletest 库吗?