如何组织开源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
我不满意/不确定的地方:
.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