外部库包含 - Eclipse CDT和MinGW

时间:2016-01-27 19:07:19

标签: mingw eclipse-cdt

我正在尝试重新学习C ++,而且我正在使用MinGW在Windows上使用Eclipse CDT,我希望在不修改MinGW安装的情况下包含外部库。目前,我正在使用SDL2,但这是一个更普遍的问题。

我已经使用以下步骤成功编译并运行了我的测试程序:

  1. 下载SDL2-devel-2.0.4.mingw.tar.gzhere)并将其解压缩
  2. 将文件从SDL2-2.0.4\复制到我的MinGW安装:
    • \ include \ SDL2至%MinGW%\ include \
    • \ lib \ libSDL2.a到%MinGW%\ lib \
    • \ lib \ libSDL2.dll.a到%MinGW%\ lib \
    • \ lib \ libSDL2.la到%MinGW%\ lib \
    • \ lib \ libSDL2main.a到%MinGW%\ lib \
    • \ bin \ SDL2.dll至%MinGW%\ bin \
  3. 通过Project->属性:C / C ++ Build->设置:("工具设置"选项卡)将库(按顺序)添加到链接器MinGW C ++ Linker->库:& #34;图书馆(-l)"部分
    • SDL2main
    • SDL2
  4. 我的cpp / h文件中的
  5. #include <SDL2\SDL.h>
  6. 构建程序
  7. 使用我的.exe
  8. SDL2.dll复制到输出目录
  9. 运行
  10. 在这台特定的机器上,我使用的是SDL2-2.0.4的i686-w64-mingw32版本,但是我想直接指向链接器而不复制到MinGW安装中。上面的第2步。然后我可以简单地将这些文件包含在我的仓库中而不需要正确修改MinGW安装,或者在不同的机器上更改指向x86_64-w64-mingw32构建的指针等。

    在略有不同的注释(可能是一个单独的问题)上,是否有自动执行步骤6的方法?我似乎无法找到它,并且在每个干净的版本上手动复制dll都很烦人......

1 个答案:

答案 0 :(得分:1)

您几乎就在那里,只需将包含目录添加到SDL2的外部解压缩位置,并为链接阶段添加库搜索路径。

  1. 项目 - &gt;属性:C / C ++构建 - >设置:(&#34;工具设置&#34;选项卡)MinGW C ++编译器 - &gt;包含:&#34;包含路径(-I )&#34;部分

  2. 项目 - &gt;属性:C / C ++ Build-&gt;设置:(&#34;工具设置&#34;标签)MinGW C ++ Linker-&gt;库:&#34;库搜索路径( - L)&#34;部分

  3. 至于您的其他问题,请确保您的PATH上有SDL2.dll,然后您不必复制它。如果你真的想复制它,可以将它添加到后期构建步骤:Project-&gt; Properties:C / C ++ Build-&gt; Settings:(&#34; Build Steps&#34; tab)构建后步骤:Command