尝试通过Codeblocks编译Codeblocks
  YsKLUsw1iiSO 2024年02月19日 90 0

最近工作安排上的空余时间比较多.尝试了下通过Codeblocks去编译(Self-host)Codeblocks

还传了个Gitee(code-blocks-mint),不知道后面会不会继续对其进行修改——主要最近习惯了使用qml这种脚本化的界面实现方式,看见widget跟页面标签就一阵头大;

另外,Codeblocks的代码虽然相对屎山代码来说已经非常的简洁且注释齐全了,尤其是在编译过程中出现错误,通过注释能解决大部分问题,但是,还是不妨碍CB的源码在main.cpp里放一堆主页面的功能实现,看着一阵乱;

还有就是,查看CB官方的svn提交log明显能感觉到CB的后劲儿不足——很多新功能还没有啊,易用性远远赶不上VS.

 

至于为啥要尝试自己编译CB,主要是当时想的通过CB去接TDMGCC,看看C++14 17等高版本特性,VS不想升——升了也未必有,主要还占地方,然后就阴差阳错的,跑去编译CB的代码了.

步骤上来说,通过源码编译CB分为以下几步(其实它官网有步骤说明的)

  1.下载最新版本的CB、下载目标的SVN源码(官网查地址或者sourceforge压缩包)、下载与目标源码使用的wxWidget版本相近但是不高于的二进制包或者源码、zip工具包。

  2.准备一个MingGW编译器——如果是通过MingGW官网下载,那么繁杂的项目会很多,推荐使用CB安装时自带的(只是处于偷懒的目的考虑,版本不足或者版本过高还是需要手工下载合适的)。

  3.获取wxWidget的二进制文件,如果直接下载的是你对应系统平台的二进制文件则跳过这一步。以windows为例,需要将目录切换到源码的build\msw目录下使用如下指令

mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport" clean
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport" >log.txt 2>&1

上面的指令中第一行是清理前次编译,首次编译用不上,直接使用第二条,得到发行版的wxWidget二进制文件

  4.进入CB源码内,打开src下对应的workspace,进行编译,编译完成后运行workspace同级目录的updateXX.bat

上面的步骤走完了,在src\output_XXX目录下就会出现手工编译出来的Codeblocks文件。(相关的各种编译问题我都留到了Gitee的md上)

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年02月19日 0

暂无评论

推荐阅读