使用跨平台库在Eclipse中设置跨平台C++项目

eol*_*old 8 eclipse svn configuration cross-platform libraries

我正在与另外8个人合作开发一个跨平台的C++项目,该项目使用以下库:

  • OpenCV库
  • 提升C++库

该项目旨在跨平台,因此所有用户都同意不使用特定于平台的代码,并且为了使事情尽可能简单,所有用户都将使用Eclipse作为他们的IDE.但是,有些人将使用Eclipse for Windows,而其他人将使用Eclipse for Linux.

由于项目将托管在SVN上,我们希望避免与共享的不同配置文件(如make文件,eclipse项目文件等)发生冲突.我们还希望通过SVN尽可能多地共享配置文件,以使配置尽可能简单.

假设所有用户都已正确配置系统变量并安装了所需的构建工具(例如make,cmake等),并已正确配置其Eclipse设置(但不是项目特定的设置).

如何配置项目一次以及在存储库中共享哪些配置文件,以便Windows和Linux用户都可以编译它而无需修改从SVN存储库中检索的配置文件?

(我不是在寻找专门针对我提到的那两个库的完整解决方案,所以我将非常感谢一般的逐步解释,这使我能够轻松地添加另一个库.)

Ale*_*kis 0

一般讨论;一般交流:

您将需要安装 Cygwin 或类似的东西,以使 GNU Autotools 工具链可用于 Windows 上的 Eclipse: 如何处理 Eclipse CDT+Cygwin?

一旦您的工具链、带有 CDT 和 SVN 连接器的 Eclipse 在您的开发机器上准备就绪,请执行以下步骤。

  1. 打开Eclipse并切换到CDT:单击Window->Open Perspective->Other...并选择C/C++
  2. 选择:Eclipse->文件->新建->C++ 项目
  3. 项目名称:观众
  4. 选择:项目类型->GNU Autotools->Hello World C++ Autotools 项目
  5. 点击下一步
  6. 单击:完成
  7. 在 Project Explorer 中右键单击:查看器 -> 重新配置项目
  8. 单击:控制台->显示选定的控制台子菜单-># CDT Global Build Console。如果“autoreconf -i”输出是名义上的,请继续执行步骤 9。如果控制台报告: sh: autoreconf: command not find,则将 autoreconf 命令的路径添加到项目构建环境中:
    1. 在项目资源管理器中右键单击:查看器->属性->C/C++ 构建->环境->添加...
    2. 名称: 路径
    3. 值:path_to_autoreconf:${env_var:PATH}
    4. 单击:确定
    5. 点击:申请
    6. 返回步骤 8。
  9. 双击:Project Explorer->viewer->src->viewer.cpp
  10. 添加一些代码:

    包括 <opencv/cv.h>

    包括 <opencv/highgui.h>

    包括 <cassert>

    int main(int argc, char *argv[]) {

    断言(argc > 1);

    CvMat* img = cvLoadImageM(argv 1 );

    cvNamedWindow("图片", CV_WINDOW_AUTOSIZE);

    cvShowImage("图片", img);

    cvWaitKey(0);

    返回0;

    }

  11. 双击:Project Explorer->viewer->configure.ac,在AC_PROG_CXX下面输入以下代码。

    AC_CHECK_LIB([opencv_core],[cvSetZero],[],[])

    AC_CHECK_LIB([opencv_highgui],[cvShowImage],[],[])

    AC_CHECK_LIB([boost_regex-mt],[regexecA],[BOOST_LIB_SUFFIX="-mt"],[BOOST_LIB_SUFFIX=""])

    AC_SUBST(BOOST_LIB_SUFFIX)

  12. 双击:Project Explorer->viewer->src->Makefile.am 并输入以下代码。>

    bin_PROGRAMS=查看器

    viewer_SOURCES=openCvFocusIssue.cpp

    查看器_LDFLAGS = -lboost_regex@BOOST_LIB_SUFFIX@ -lopencv_core -lopencv_highgui

  13. 重复步骤8,autoreconf(重新配置项目)
  14. 单击:项目浏览器->查看器
  15. 通过单击工具栏中的锤子来构建项目。如果没有看到锤子,请选择“Window”->“Open Perspective”->“Other...”,然后选择“C/C++”。如果 C/C++ 未显示,请安装 CDT。
  16. 单击:Project Explorer->viewer,然后 Run->Run,然后在 Run As 窗口中->Local C/C++ Application,然后在 Launch Debug Configuration Selection 窗口中->gdb/mi 并按 Enter。您应该看到“Hello World”。
  17. 退出 Eclipse 并导航到查看器项目目录。
  18. 在命令行上,发出 make dist
  19. 确保您有一个viewer-1.0.tar.gz或类似名称的文件,然后将其删除:rmviewer-1.0.tar.gz
  20. 在命令行上,发出 make clean
  21. 在同一位置,发出 make distclean。
  22. 导航到包含查看器项目的工作区目录。
  23. 将整个查看器目录移动到包含要放置查看器项目的 svn checkout 的目录。
  24. 将目录更改为刚刚将查看器移动到的位置。
  25. svn add 查看器 && svn ci -m "添加了 eclipse-autotool 项目"
  26. 打开 eclipse 并确保安装了 SVN 连接器。
  27. 从项目资源管理器视图中删除“查看器”项目。
  28. 打开 eclipse 并将此 SVN 存储库签出添加到 Team 透视图。
  29. 从 SVN 存储库签出导入查看器项目。
  30. 切换回 C/C++ 视角并享受乐趣。