将CMake/Visual Studio项目移植到Eclipse

3
我最近购买了《OpenGL超级宝典第6版》来学习OpenGL 4,该书附带了大量示例代码。作者们尽力提供了Visual Studio 2010项目和一个CMake文件来使代码可在Windows/Linux上构建。
话虽如此,我想在我的首选IDE Eclipse中使用这些示例代码。我在我的电脑上安装了Eclipse CDT、Visual Studio 2012 Professional、MinGW和CMake。我认为将项目移植到Eclipse项目中很简单,但是迄今为止我的尝试都没有成功。我所做的事情如下:
首先,我尝试从CMake文件创建Eclipse项目。显然,在CMake(我不熟悉)中,您可以运行一个命令来生成Eclipse项目文件。从描述中,我得出的想法是CMake文件是针对Linux的,因此我在项目的基本目录中运行了以下命令:
cmake -G "Eclipse CDT4 - Unix Makefiles" ./

初步检查似乎可以工作。但是,当我将生成的项目导入Eclipse并构建之后,我得到了一堆未定义引用错误。也许这是一个Linux /Windows问题?


其次,失败之后,我想可能能够将Visual Studio项目转换为Eclipse项目。我在谷歌上搜索了一下,找到了IBM的这篇教程,描述了从VS中导出makefile文件,然后使用它。 然而,它已经非常过时了(该教程来自2006年; 显然VS已经删除了“导出makefile”选项)。我可以很好地在VS中运行该项目,所以我知道代码都没问题。


现在,我很迷茫。有人可以提供关于将此项目移植到Eclipse的任何见解吗?我想我可以手动导入代码,但由于我还不熟悉这段代码(这就是为什么我买了这本书!),我希望使用最简单的方法以避免弄糊涂。

1个回答

2
Visual Studio一起构建的lib/GLFW_r32.lib的所有链接器问题。
由于MinGW和Visual Studio库是不兼容的,因此无法使用与代码示例捆绑在一起的lib/GLFW_r32.lib。
以下是几个选择:
  • 使用Readme中建议的Visual Studio
  • 使用提供OpenGL支持的MinGW库(在这种情况下,您应该修改CMakeLists.txt - 请参见下文)
如果(WIN32)
    如果(MINGW)
        // 为OpenGL添加mingw特定库
        set(COMMON_LIBS 这里添加mingw特定库...)
    否则(MINGW)
        // Visual Studio特定
        set(COMMON_LIBS sb6 optimized GLFW_r32 debug GLFW_d32)
    结束如果(MINGW)
否则如果(UNIX)
    set(COMMON_LIBS sb6 glfw ${GLFW_LIBRARIES} GL rt dl)
否则()
    set(COMMON_LIBS sb6)
结束如果()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接