[讨论] 为什么我觉得编译开源项目很难?

行者无疆freedom 2013-05-21 09:46:11
做编程工作也有三年了,一般都用的Visual Studio, 有时就想自己编译一下开源的项目, 但有的一到编译的时候有时就卡住了(C#开源项目都能编译成功,但C#开源的很少), 特别是C++,很多里面不提供sln文件,我就不知道如何编译了,有的有sln文件,但有很多编译错误, 比如网上给出的easymule的开源代码,修复不完的问题。 再有就是 很多代码都是Linux平台的组织方式, 我也感到无从下手, 大家有什么好的建议么,万分感谢!!
...全文
533 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
康斯坦汀 2013-05-21
  • 打赏
  • 举报
回复
引用 4 楼 u010750906 的回复:
因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
mLee79 2013-05-21
  • 打赏
  • 举报
回复
基本上啥平台下都是 *nix的代码最好编译 ...
super_admi 2013-05-21
  • 打赏
  • 举报
回复
引用 4 楼 u010750906 的回复:
因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
太片面了。我不否认有人故弄玄虚,但更多地时候并不是如此。 比较难编译,或许是因为项目管理比较松散,或者是开发者的习惯,或者是开发者的懒散,或者是跨平台等因素的需要。但通常情况下,这玩意都是可以通过编译的--你没通过编译,只是你的环境或者操作没达到要求而已。 很多开发者因为是从黑屏年代走过来的,已经习惯了手工编译,且貌似目前只有使用编译脚本才能跨越多个操作系统,多个编译器完成编译,你非要sln,人家unix/linux下的用户咋办?
swlilike 2013-05-21
  • 打赏
  • 举报
回复
我都找他们编译好的 release
代码老猿 2013-05-21
  • 打赏
  • 举报
回复
因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
Tiger-3D 2013-05-21
  • 打赏
  • 举报
回复
++ 感觉还是能力不够
buyong 2013-05-21
  • 打赏
  • 举报
回复
I agreed that compile some open source project is really a big task.
sniffer12345 2013-05-21
  • 打赏
  • 举报
回复
我也觉得编译很难 我觉得你应该改变“编译就是按下一个绿色三角”的心态,而是把它当成一门知识去学习 好好研究下makefile,c/c++的编译链接过程,一大堆的编译器选项,以及不同平台,不同CPU架构之间的区别,因为有时候你必须去翻看源代码并做一定修改才能编得过去 而且还有很多更复杂的问题,如不同版本的库,没有exception的情况,对应工具链缺失,甚至运行时内存不对齐,这些都是异常难啃的骨头啊,有时候比写代码难多了
  • 打赏
  • 举报
回复
引用 14 楼 zhao4zhong1 的回复:
英语也是一门计算机语言的说。
        ./configure
        make
        su
        输入root用户的密码
        make install
大牛,有没有好的建议?
孤独小剑 2013-05-21
  • 打赏
  • 举报
回复
引用 16 楼 yjyj985 的回复:
[quote=引用 11 楼 u010750906 的回复:] [quote=引用 6 楼 super_admi 的回复:] [quote=引用 4 楼 u010750906 的回复:] 因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
太片面了。我不否认有人故弄玄虚,但更多地时候并不是如此。 比较难编译,或许是因为项目管理比较松散,或者是开发者的习惯,或者是开发者的懒散,或者是跨平台等因素的需要。但通常情况下,这玩意都是可以通过编译的--你没通过编译,只是你的环境或者操作没达到要求而已。 很多开发者因为是从黑屏年代走过来的,已经习惯了手工编译,且貌似目前只有使用编译脚本才能跨越多个操作系统,多个编译器完成编译,你非要sln,人家unix/linux下的用户咋办?[/quote] 半玩笑,半嘲笑. 我见过不少,自以为很牛的人.写程序用linux的文本编辑,好像是vi什么的.写个程序比IDE上开发慢n倍,还觉得这样才是linux开发. 确实这些人对make文件很熟悉,能够把相当复杂的make文件调通.但是用好的IDE已经不需要做这样的事了.这也不是多数程序员该做的事. [/quote] 俺就是用vi,躺着也中枪了[/quote]俺是mc(类似记事本)也中抢……
逆袭高富帅 2013-05-21
  • 打赏
  • 举报
回复
引用 11 楼 u010750906 的回复:
[quote=引用 6 楼 super_admi 的回复:] [quote=引用 4 楼 u010750906 的回复:] 因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
太片面了。我不否认有人故弄玄虚,但更多地时候并不是如此。 比较难编译,或许是因为项目管理比较松散,或者是开发者的习惯,或者是开发者的懒散,或者是跨平台等因素的需要。但通常情况下,这玩意都是可以通过编译的--你没通过编译,只是你的环境或者操作没达到要求而已。 很多开发者因为是从黑屏年代走过来的,已经习惯了手工编译,且貌似目前只有使用编译脚本才能跨越多个操作系统,多个编译器完成编译,你非要sln,人家unix/linux下的用户咋办?[/quote] 半玩笑,半嘲笑. 我见过不少,自以为很牛的人.写程序用linux的文本编辑,好像是vi什么的.写个程序比IDE上开发慢n倍,还觉得这样才是linux开发. 确实这些人对make文件很熟悉,能够把相当复杂的make文件调通.但是用好的IDE已经不需要做这样的事了.这也不是多数程序员该做的事. [/quote] 俺就是用vi,躺着也中枪了
csd1208 2013-05-21
  • 打赏
  • 举报
回复
引用 14 楼 zhao4zhong1 的回复:
英语也是一门计算机语言的说。
        ./configure
        make
        su
        输入root用户的密码
        make install
问题是 很多的 连英文的相关文档都没有啊
赵4老师 2013-05-21
  • 打赏
  • 举报
回复
英语也是一门计算机语言的说。
        ./configure
        make
        su
        输入root用户的密码
        make install
super_admi 2013-05-21
  • 打赏
  • 举报
回复
引用 10 楼 csd1208 的回复:
很多开源项目编译确实是有点困难,所以建议开源项目最好 弄个说明文档就比较好
貌似我尚未见过没有ReadMe的开源项目。
super_admi 2013-05-21
  • 打赏
  • 举报
回复
你的观点我并不认同。 1.选择编辑编译工具,是要因地因时制宜的。我不知道你是否在服务器上调试或者编译过东西,很多服务器是没有GUI的,而一般的IDE,都需要GUI界面支持。现在还好点,因为如ORACLE这样的数据库,安装时都需要图形界面,所以现在GUI即使不运行,也会装上。但以前的非WINDOWS服务器,恐怕没有几个会装上GUI,即使装上了,可能也就是一个很简陋的XWINDOW,你拿个sln或者qt怎么编译?如果现场环境发现问题,需要修改怎么办?UNIX/LINUX的标准文本编辑器就是VI,或者VIM,如果你不熟练,怎么搞定问题?你说的所谓牛人,用VI写程序慢,那是他们自己的问题,实际上,如果你熟悉VI,并实现配置好了,用它做开发,绝对不慢,甚至还要比使用IDE快(这里当然指不带界面的程序,否则你写个RES都会写死人)。 2.IDE的自动编译和make文件,两者各具优势。如果项目是以源代码的形式发布(如开源项目),显然make更加合适,因为它更加灵活,通用性更强。 3.详细的编译过程,应该是每个程序员都应该要了解的。如果你一直都依赖IDE的自动完成,恐怕你的长进有限。
引用 11 楼 u010750906 的回复:
[quote=引用 6 楼 super_admi 的回复:] [quote=引用 4 楼 u010750906 的回复:] 因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
太片面了。我不否认有人故弄玄虚,但更多地时候并不是如此。 比较难编译,或许是因为项目管理比较松散,或者是开发者的习惯,或者是开发者的懒散,或者是跨平台等因素的需要。但通常情况下,这玩意都是可以通过编译的--你没通过编译,只是你的环境或者操作没达到要求而已。 很多开发者因为是从黑屏年代走过来的,已经习惯了手工编译,且貌似目前只有使用编译脚本才能跨越多个操作系统,多个编译器完成编译,你非要sln,人家unix/linux下的用户咋办?[/quote] 半玩笑,半嘲笑. 我见过不少,自以为很牛的人.写程序用linux的文本编辑,好像是vi什么的.写个程序比IDE上开发慢n倍,还觉得这样才是linux开发. 确实这些人对make文件很熟悉,能够把相当复杂的make文件调通.但是用好的IDE已经不需要做这样的事了.这也不是多数程序员该做的事. [/quote]
代码老猿 2013-05-21
  • 打赏
  • 举报
回复
引用 6 楼 super_admi 的回复:
[quote=引用 4 楼 u010750906 的回复:] 因为开源都是牛人,牛人要把事情做得难一点,这样才显示技术.而卖你东西的人都是商人,商人要把事作简单这样才有更多的人买
太片面了。我不否认有人故弄玄虚,但更多地时候并不是如此。 比较难编译,或许是因为项目管理比较松散,或者是开发者的习惯,或者是开发者的懒散,或者是跨平台等因素的需要。但通常情况下,这玩意都是可以通过编译的--你没通过编译,只是你的环境或者操作没达到要求而已。 很多开发者因为是从黑屏年代走过来的,已经习惯了手工编译,且貌似目前只有使用编译脚本才能跨越多个操作系统,多个编译器完成编译,你非要sln,人家unix/linux下的用户咋办?[/quote] 半玩笑,半嘲笑. 我见过不少,自以为很牛的人.写程序用linux的文本编辑,好像是vi什么的.写个程序比IDE上开发慢n倍,还觉得这样才是linux开发. 确实这些人对make文件很熟悉,能够把相当复杂的make文件调通.但是用好的IDE已经不需要做这样的事了.这也不是多数程序员该做的事.
csd1208 2013-05-21
  • 打赏
  • 举报
回复
很多开源项目编译确实是有点困难,所以建议开源项目最好 弄个说明文档就比较好
hugett 2013-05-21
  • 打赏
  • 举报
回复
有些项目编译起来的确是有点那个。。

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧