I want to do some coding in my spare time, but the thing is, I don't want to spend the money on this.
我想在业余时间做一些编码,但问题是,我不想把钱花在这上面。
Would the following set of development tools be The Right Thing, or is there something I'm forgetting?
以下一套开发工具是不是正确的事情,还是我忘记了什么?
- Eclipse for C++
- SVN for source control
- Qt for UI development (since it's C++, and I believe it's now opened by Nokia)
- hudson for continuous integration
Eclipse for C ++
SVN用于源代码控制
用于UI开发的Qt(因为它是C ++,我相信它现在由诺基亚开放)
哈德森持续整合
I'd like to write a little image processing application that can run on any platform, but the main platform at the moment will be Windows with a possible movement to the Mac-- hence all the cross-platform tools.
我想编写一个可以在任何平台上运行的小型图像处理应用程序,但目前的主要平台将是Windows,可能会向Mac移动 - 因此所有的跨平台工具。
Is there anything really obvious I'm forgetting? Like something like fxcop for style checking in C++?
我有什么遗忘吗?就像fxcop在C ++中进行样式检查一样?
If I use any libraries, I'd like to avoid GPL libraries; if things go south with my current employer, I'll want to monetize this.
如果我使用任何库,我想避免使用GPL库;如果事情与我现在的雇主一起南下,我会想要将其货币化。
11 个解决方案
#1
Microsoft Visual C++ Express is free and easily the best IDE for Windows. Furthermore, you can use it to work on cross-platform code - it more depends on writing standards-adhering code and using portable libraries.
Microsoft Visual C ++ Express是免费且轻松的Windows最佳IDE。此外,您可以使用它来处理跨平台代码 - 它更依赖于编写符合标准的代码和使用可移植库。
If you want to write cross-platform code, I recommend a cross-platform build tool. I use CMake, which generates Visual Studio solutions on Windows, but there are others too, such as SCons.
如果您想编写跨平台代码,我建议使用跨平台构建工具。我使用CMake,它在Windows上生成Visual Studio解决方案,但也有其他的,如SCons。
As for libraries, it depends on what exactly you need to do. Qt is an excellent GUI library. libpng/libjpeg and others are good for loading/saving images at a low level, but there are probably other higher-level image libraries as well.
至于图书馆,这取决于你究竟需要做什么。 Qt是一个出色的GUI库。 libpng / libjpeg和其他人适合在低级别加载/保存图像,但也可能有其他更高级别的图像库。
[edit] A response to the comment about MSVC and Qt: A quick search brings up Trolltech's Qt Visual Studio Integration page: Qt Visual Studio .NET Integration A comment points out that this is actually not free (a free addon is available at this link, but this runs Qt designer outside of Visual Studio. Also, the Express version of Visual Studio does not support plugins.
[编辑]对关于MSVC和Qt的评论的回复:快速搜索带来了Trolltech的Qt Visual Studio集成页面:Qt Visual Studio .NET集成评论指出这实际上不是免费的(此链接提供免费插件,但这会在Visual Studio之外运行Qt设计器。此外,Visual Studio的Express版本不支持插件。
For coding specifically in Qt there is another new IDE created by Qt: Qt Creator. I've heard good things about it, and it is also portable across Windows, Linux, and Mac.
为了在Qt中专门编码,Qt创建了另一个新的IDE:Qt Creator。我听说过它很好,它也可以在Windows,Linux和Mac上移植。
#2
I detect procrastination (something I'm often guilty of) - just write some code - you can always add tools as you go along.
我发现了拖延(我经常感到内疚) - 只需编写一些代码 - 随时随地添加工具。
#3
The problem with questions with phrases like "what's better" is that it's really hard to determine what's right in a specific situation and maybe impossible what's "better".
像“什么更好”这样的短语问题的问题在于,在特定情况下确定什么是正确的,而在“更好”的情况下可能是不可能的。
Said that, I use Eclipse CDT sucessfully as an IDE on Linux. I use frameworks like ACE/TAO to create code that is highly portable.
说,我使用Eclipse CDT作为Linux上的IDE成功。我使用像ACE / TAO这样的框架来创建高度可移植的代码。
I know that QT is a very good UI framework. KDE is built on top of KDE and if you use KDE/Linux then you may also want to look at KDevelop, a C++ IDE that has many users.
我知道QT是一个非常好的UI框架。 KDE是在KDE之上构建的,如果您使用KDE / Linux,那么您可能还想看看KDevelop,一个拥有许多用户的C ++ IDE。
In the end I believe that you and only you can figure out whats best for you to use. Make sure you check the alternatives and then make an educated decision.
最后,我相信你,只有你才能找到最适合你使用的东西。确保检查替代方案,然后做出明智的决定。
#4
for c++ there are a few more freewares available such as codeblocks and devcpp. I find eclipse very heavy on the machine.
对于c ++,还有一些免费软件可用,例如codeblocks和devcpp。我发现机器上的日食很重。
#5
There are many tools that make the difference:
有许多工具可以带来不同:
- A C++ compiler ... (it wasn't in your list)
- doxygen
- STLfilt (which is a must have when programming in C++)
- A UT framework (CxxTests, boost.test, Fructose, google.test, ...)
- something to manage the compilation chain (scons, aap, (b)jam, cmake, ...) -- I've no idea what eclipse is using.
一个C ++编译器......(它不在你的列表中)
STLfilt(在C ++中编程时必须具备)
一个UT框架(CxxTests,boost.test,Fructose,google.test,...)
管理编译链的东西(scons,aap,(b)jam,cmake,...) - 我不知道eclipse正在使用什么。
#6
-
Source control: git. It's not as diffucult as people make it seem. I'm an svn newbie and I still managed to learn the basics of git for use in everyday life! There are about 4 or 5 basic commands that will get you going in no time. Read the official git tutorial
源代码控制:git。它并不像人们看起来那样困难。我是一个svn新手,我仍然设法学习git的基本知识,用于日常生活!大约有4或5个基本命令可以让您立刻前进。阅读官方git教程
-
Regarding IDE's, there are a few choices
关于IDE,有几个选择
- Microsoft Visual C++ Express Edition (free lite version)
- Eclipse with CDT
- QtCreator. (Since you're using Qt for the GUI)
Microsoft Visual C ++ Express Edition(免费精简版)
Eclipse与CDT
QtCreator。 (因为您使用Qt作为GUI)
#7
Personally I have used Eclipse+CDT for a number of projects. Paired with wxWidgets it has provided me with enough to keep myself pretty much crossplatform (which I think is a big plus).
就个人而言,我已经将Eclipse + CDT用于了许多项目。它与wxWidgets配对,它为我提供了足够的保持自己的跨平台(我认为这是一个很大的优点)。
Also QT has some interesting releases with an IDE now, make sure you check it out: http://www.qtsoftware.com/products/developer-tools
此外,QT现在还有一些有趣的版本,请务必查看:http://www.qtsoftware.com/products/developer-tools
Like earlier suggestion, just start coding, you will eventually find out what is the appropriate mix for you. It varies greatly between individuals what is the "best" IDE or mix of command line tools, etc.
像之前的建议一样,只需开始编码,您最终会找到适合您的混合物。各个人之间的差异很大,什么是“最佳”IDE或命令行工具的混合等。
#8
Eclipse CDT is making huge strides, and even organizations that were unx tools only are now finally joining the IDE bandwagon. Considering downloading a current milestone, not the official release.
Eclipse CDT正在取得巨大进步,甚至只有unx工具的组织现在终于加入了IDE的潮流。考虑下载当前里程碑,而不是官方发布。
If you're using windows, don't use Eclipse directly, find a third-party distribution that already has all the GNU tools in it (I forgot the name, I can look it up).
如果您正在使用Windows,请不要直接使用Eclipse,找到已经包含所有GNU工具的第三方发行版(我忘记了名称,我可以查找它)。
Once you switch to mac it's easier, but make sure to install xcode to get your GNU tools.
一旦你切换到mac它更容易,但一定要安装xcode来获取你的GNU工具。
#9
If you are using svn - VisualSVNServer is an excellent free GUI based way to setup and administer your SVN repository, definitely worth checking out as it means you have little/no messing about with config files etc. to change your repository.
如果你正在使用svn - VisualSVNServer是一个很好的免费的基于GUI的方式来设置和管理你的SVN存储库,绝对值得检查,因为这意味着你很少/没有搞乱配置文件等来更改你的存储库。
#10
Regarding version control - Subversion is pretty much standard and is very well supported. From what I've heard, Git is more powerful but harder to use; it's worth a look for a new one-man project, since you wouldn't have the support and retraining concerns that other projects would have.
关于版本控制 - Subversion非常标准,并得到很好的支持。从我所听到的,Git更强大但更难使用;值得一看的是一个新的单人项目,因为你不会得到其他项目的支持和再培训问题。
Regarding IDE, since Visual C++ Express is currently the highest-voted answer - I've used both Eclipse and Visual C++ Express. I don't have a whole lot of experience with Visual C++ Express, so it might have features that I've overlooked, but from what I've been able to compare, Eclipse offers a lot more features. I tried to list its more impressive features in this answer; from what I've been able to see, Visual C++ Express doesn't have any of the features listed there. Eclipse is slower and more resource-intensive, but with a fast enough desktop, its extra features are more than worth it.
关于IDE,因为Visual C ++ Express是目前投票率最高的答案 - 我使用了Eclipse和Visual C ++ Express。我没有很多使用Visual C ++ Express的经验,因此它可能具有我忽略的功能,但是从我能够比较的内容来看,Eclipse提供了更多功能。我试着在这个答案中列出其更令人印象深刻的功能;从我能够看到的,Visual C ++ Express没有列出任何功能。 Eclipse速度较慢且资源密集程度较高,但桌面速度足够快,其额外功能非常值得。
#11
In terms of version control, use git and throw your project on GitHub or Gitorious. There's really no reason to use Subversion anymore, due to its painful branching and merging, and lack of a distributed model.
在版本控制方面,使用git并将项目放在GitHub或Gitorious上。由于其痛苦的分支和合并以及缺乏分布式模型,因此没有理由再使用Subversion了。
See this link here for why Git is better than X: http://whygitisbetterthanx.com/
在这里看到这个链接,了解为什么Git比X更好:http://whygitisbetterthanx.com/
There's also no point in using Sourceforge or GNU Savannah, as the Git front-end sites have much more valuable features and are easier to use.
使用Sourceforge或GNU Savannah也没有意义,因为Git前端站点具有更多有价值的功能并且更易于使用。
#1
Microsoft Visual C++ Express is free and easily the best IDE for Windows. Furthermore, you can use it to work on cross-platform code - it more depends on writing standards-adhering code and using portable libraries.
Microsoft Visual C ++ Express是免费且轻松的Windows最佳IDE。此外,您可以使用它来处理跨平台代码 - 它更依赖于编写符合标准的代码和使用可移植库。
If you want to write cross-platform code, I recommend a cross-platform build tool. I use CMake, which generates Visual Studio solutions on Windows, but there are others too, such as SCons.
如果您想编写跨平台代码,我建议使用跨平台构建工具。我使用CMake,它在Windows上生成Visual Studio解决方案,但也有其他的,如SCons。
As for libraries, it depends on what exactly you need to do. Qt is an excellent GUI library. libpng/libjpeg and others are good for loading/saving images at a low level, but there are probably other higher-level image libraries as well.
至于图书馆,这取决于你究竟需要做什么。 Qt是一个出色的GUI库。 libpng / libjpeg和其他人适合在低级别加载/保存图像,但也可能有其他更高级别的图像库。
[edit] A response to the comment about MSVC and Qt: A quick search brings up Trolltech's Qt Visual Studio Integration page: Qt Visual Studio .NET Integration A comment points out that this is actually not free (a free addon is available at this link, but this runs Qt designer outside of Visual Studio. Also, the Express version of Visual Studio does not support plugins.
[编辑]对关于MSVC和Qt的评论的回复:快速搜索带来了Trolltech的Qt Visual Studio集成页面:Qt Visual Studio .NET集成评论指出这实际上不是免费的(此链接提供免费插件,但这会在Visual Studio之外运行Qt设计器。此外,Visual Studio的Express版本不支持插件。
For coding specifically in Qt there is another new IDE created by Qt: Qt Creator. I've heard good things about it, and it is also portable across Windows, Linux, and Mac.
为了在Qt中专门编码,Qt创建了另一个新的IDE:Qt Creator。我听说过它很好,它也可以在Windows,Linux和Mac上移植。
#2
I detect procrastination (something I'm often guilty of) - just write some code - you can always add tools as you go along.
我发现了拖延(我经常感到内疚) - 只需编写一些代码 - 随时随地添加工具。
#3
The problem with questions with phrases like "what's better" is that it's really hard to determine what's right in a specific situation and maybe impossible what's "better".
像“什么更好”这样的短语问题的问题在于,在特定情况下确定什么是正确的,而在“更好”的情况下可能是不可能的。
Said that, I use Eclipse CDT sucessfully as an IDE on Linux. I use frameworks like ACE/TAO to create code that is highly portable.
说,我使用Eclipse CDT作为Linux上的IDE成功。我使用像ACE / TAO这样的框架来创建高度可移植的代码。
I know that QT is a very good UI framework. KDE is built on top of KDE and if you use KDE/Linux then you may also want to look at KDevelop, a C++ IDE that has many users.
我知道QT是一个非常好的UI框架。 KDE是在KDE之上构建的,如果您使用KDE / Linux,那么您可能还想看看KDevelop,一个拥有许多用户的C ++ IDE。
In the end I believe that you and only you can figure out whats best for you to use. Make sure you check the alternatives and then make an educated decision.
最后,我相信你,只有你才能找到最适合你使用的东西。确保检查替代方案,然后做出明智的决定。
#4
for c++ there are a few more freewares available such as codeblocks and devcpp. I find eclipse very heavy on the machine.
对于c ++,还有一些免费软件可用,例如codeblocks和devcpp。我发现机器上的日食很重。
#5
There are many tools that make the difference:
有许多工具可以带来不同:
- A C++ compiler ... (it wasn't in your list)
- doxygen
- STLfilt (which is a must have when programming in C++)
- A UT framework (CxxTests, boost.test, Fructose, google.test, ...)
- something to manage the compilation chain (scons, aap, (b)jam, cmake, ...) -- I've no idea what eclipse is using.
一个C ++编译器......(它不在你的列表中)
STLfilt(在C ++中编程时必须具备)
一个UT框架(CxxTests,boost.test,Fructose,google.test,...)
管理编译链的东西(scons,aap,(b)jam,cmake,...) - 我不知道eclipse正在使用什么。
#6
-
Source control: git. It's not as diffucult as people make it seem. I'm an svn newbie and I still managed to learn the basics of git for use in everyday life! There are about 4 or 5 basic commands that will get you going in no time. Read the official git tutorial
源代码控制:git。它并不像人们看起来那样困难。我是一个svn新手,我仍然设法学习git的基本知识,用于日常生活!大约有4或5个基本命令可以让您立刻前进。阅读官方git教程
-
Regarding IDE's, there are a few choices
关于IDE,有几个选择
- Microsoft Visual C++ Express Edition (free lite version)
- Eclipse with CDT
- QtCreator. (Since you're using Qt for the GUI)
Microsoft Visual C ++ Express Edition(免费精简版)
Eclipse与CDT
QtCreator。 (因为您使用Qt作为GUI)
#7
Personally I have used Eclipse+CDT for a number of projects. Paired with wxWidgets it has provided me with enough to keep myself pretty much crossplatform (which I think is a big plus).
就个人而言,我已经将Eclipse + CDT用于了许多项目。它与wxWidgets配对,它为我提供了足够的保持自己的跨平台(我认为这是一个很大的优点)。
Also QT has some interesting releases with an IDE now, make sure you check it out: http://www.qtsoftware.com/products/developer-tools
此外,QT现在还有一些有趣的版本,请务必查看:http://www.qtsoftware.com/products/developer-tools
Like earlier suggestion, just start coding, you will eventually find out what is the appropriate mix for you. It varies greatly between individuals what is the "best" IDE or mix of command line tools, etc.
像之前的建议一样,只需开始编码,您最终会找到适合您的混合物。各个人之间的差异很大,什么是“最佳”IDE或命令行工具的混合等。
#8
Eclipse CDT is making huge strides, and even organizations that were unx tools only are now finally joining the IDE bandwagon. Considering downloading a current milestone, not the official release.
Eclipse CDT正在取得巨大进步,甚至只有unx工具的组织现在终于加入了IDE的潮流。考虑下载当前里程碑,而不是官方发布。
If you're using windows, don't use Eclipse directly, find a third-party distribution that already has all the GNU tools in it (I forgot the name, I can look it up).
如果您正在使用Windows,请不要直接使用Eclipse,找到已经包含所有GNU工具的第三方发行版(我忘记了名称,我可以查找它)。
Once you switch to mac it's easier, but make sure to install xcode to get your GNU tools.
一旦你切换到mac它更容易,但一定要安装xcode来获取你的GNU工具。
#9
If you are using svn - VisualSVNServer is an excellent free GUI based way to setup and administer your SVN repository, definitely worth checking out as it means you have little/no messing about with config files etc. to change your repository.
如果你正在使用svn - VisualSVNServer是一个很好的免费的基于GUI的方式来设置和管理你的SVN存储库,绝对值得检查,因为这意味着你很少/没有搞乱配置文件等来更改你的存储库。
#10
Regarding version control - Subversion is pretty much standard and is very well supported. From what I've heard, Git is more powerful but harder to use; it's worth a look for a new one-man project, since you wouldn't have the support and retraining concerns that other projects would have.
关于版本控制 - Subversion非常标准,并得到很好的支持。从我所听到的,Git更强大但更难使用;值得一看的是一个新的单人项目,因为你不会得到其他项目的支持和再培训问题。
Regarding IDE, since Visual C++ Express is currently the highest-voted answer - I've used both Eclipse and Visual C++ Express. I don't have a whole lot of experience with Visual C++ Express, so it might have features that I've overlooked, but from what I've been able to compare, Eclipse offers a lot more features. I tried to list its more impressive features in this answer; from what I've been able to see, Visual C++ Express doesn't have any of the features listed there. Eclipse is slower and more resource-intensive, but with a fast enough desktop, its extra features are more than worth it.
关于IDE,因为Visual C ++ Express是目前投票率最高的答案 - 我使用了Eclipse和Visual C ++ Express。我没有很多使用Visual C ++ Express的经验,因此它可能具有我忽略的功能,但是从我能够比较的内容来看,Eclipse提供了更多功能。我试着在这个答案中列出其更令人印象深刻的功能;从我能够看到的,Visual C ++ Express没有列出任何功能。 Eclipse速度较慢且资源密集程度较高,但桌面速度足够快,其额外功能非常值得。
#11
In terms of version control, use git and throw your project on GitHub or Gitorious. There's really no reason to use Subversion anymore, due to its painful branching and merging, and lack of a distributed model.
在版本控制方面,使用git并将项目放在GitHub或Gitorious上。由于其痛苦的分支和合并以及缺乏分布式模型,因此没有理由再使用Subversion了。
See this link here for why Git is better than X: http://whygitisbetterthanx.com/
在这里看到这个链接,了解为什么Git比X更好:http://whygitisbetterthanx.com/
There's also no point in using Sourceforge or GNU Savannah, as the Git front-end sites have much more valuable features and are easier to use.
使用Sourceforge或GNU Savannah也没有意义,因为Git前端站点具有更多有价值的功能并且更易于使用。