如何组织开源C++;使用IDE进行项目以在github上共享 我想知道(根据)如何用权衡来组织C++项目,这样它就可以很容易地在 Git < /> >(例如GITHUB)上共享,或者使任何有兴趣的人都可以将源文件导入到他的环境中。

如何组织开源C++;使用IDE进行项目以在github上共享 我想知道(根据)如何用权衡来组织C++项目,这样它就可以很容易地在 Git < /> >(例如GITHUB)上共享,或者使任何有兴趣的人都可以将源文件导入到他的环境中。,c++,git,codeblocks,portability,project-organization,C++,Git,Codeblocks,Portability,Project Organization,作为一个例子,我会提到code::Blocks,因为我现在开始使用它,但是这个问题对于任何IDE都应该更一般 我目前的工作方式: 我有这样的目录结构(字典以/开头,注释以/开头): 在特定可执行程序的每个项目文件夹中,我有以下结构: /SailWar /bin // CodeBlocks binary output /data // my datafiles (resources) required for program to run /src

作为一个例子,我会提到
code::Blocks
,因为我现在开始使用它,但是这个问题对于任何IDE都应该更一般


我目前的工作方式:

我有这样的目录结构(字典以
/
开头,注释以
/
开头):

在特定可执行程序的每个项目文件夹中,我有以下结构:

/SailWar
  /bin         // CodeBlocks binary output
  /data        // my datafiles (resources) required for program to run
  /src         // my source code
  /obj         // CodeBlocks compiled objects files
  main.cpp  
  makefile    
  program.x       // binary
  SailWar.cbp     // CodeBlocks project file
  SailWar.depend  // CodeBlocks .depend
  SailWar.layout  // CodeBlocks .layout
  test            // bash script to make clean, make and run the binary
.git/info/exclude
中,我有:

*~*.pyc*.o*.a*.so*.x bin obj.depend.layout

确保只将源文件(而不是输出和临时文件)上载到
github


我不满意/不确定的地方:

  • 我应该在git中保持(跟踪)
    .depend.layout
  • CodeBlocks
    project
    .cbp
    protable和genral enough,还是我必须保持
    makefile
    的编译方式。如果代码块可以使用makefile而不是
    .cbp
  • 将编译后的二进制文件放入
    /bin
    时,它没有指向
    /data
    的正确路径
  • 我不确定如何最好地连接共享代码
    /common
    和资源
    /common\u数据
    。目前我将
    。/../common
    放入编译器搜索路径中。。。但我不确定这是不是最好的办法
  • 我可能更愿意为所有内容创建一个项目文件(所有可执行文件、所有库都在一个文件中)。我认为这会让任何从
    github
    下载它的潜在用户更加清楚。但这可能是不可能的(?)(我正在读这方面的文章。)

  • 让项目依赖IDE是个坏主意。这是创建
    cmake
    的原因之一。因此,我建议您使用CMake作为您的构建系统和支持管理CMake项目的IDE


    例如,我个人的选择是KDevelop。

    我目前正在进行一个相当大的项目,有许多活动部件,所以我必须想出一个好方法来组织我的所有路径,以便有某种秩序的疯狂

    基本上,我有一个根目录,我的所有项目子文件夹都位于该目录下,然后每个项目文件夹都有一个include文件夹,但所有项目都使用相同的输出文件夹。我还使用不同的.workspace文件将不同的项目组织到组中。这样,我可以为我的所有项目保留一个确定性的文件夹结构(都在同一个文件夹中),但仍然保持它们的组织性

       \root\develop\.workspace
       \root\develop\[project]\.cbp       
       \root\develop\[project]\include
       \root\develop\[project]\obj
       \root\develop\bin
       \root\develop\external\bin
       \root\develop\external\include
    
    如果您愿意,您可以通过查看源代码树并浏览大量的项目和项目选项来查看。此目录结构支持多个库、可执行文件和外部依赖项。它绝对值得一看。

    QtCreator使用cmake作为Welltw,cmake可以为多个IDE生成项目。这是个人意见,这对OP没有方向,对于他们遇到的问题几乎没有建议-1你可能想把这个带到。@AndrewCheong当你提到其他网站时,指出@gnat-Got是很有帮助的,谢谢。建议用户做什么?在其他网站上发布之前删除此帖子?或者等待迁移。
       \root\develop\.workspace
       \root\develop\[project]\.cbp       
       \root\develop\[project]\include
       \root\develop\[project]\obj
       \root\develop\bin
       \root\develop\external\bin
       \root\develop\external\include