首页 > 其他分享 >尝试通过Codeblocks编译Codeblocks

尝试通过Codeblocks编译Codeblocks

时间:2024-02-02 16:13:05浏览次数:27  
标签:尝试 USE CB 编译 源码 Codeblocks 下载

最近工作安排上的空余时间比较多.尝试了下通过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上)

 

标签:尝试,USE,CB,编译,源码,Codeblocks,下载
From: https://www.cnblogs.com/cityfn/p/18003349

相关文章

  • ubuntu上安装meson & 如何使用meson编译C代码
    一·搭建meson环境并简单编译:1.什么是meson  Meson旨在开发最具可用性和快速的构建系统。提供简单但强大的声明式语言用来描述构建。原生支持最新的工具和框架,如Qt5、代码覆盖率、单元测试和预编译头文件等。利用一组优化技术来快速变异代码,包括增量编译和完全编译。 ......
  • 在ubuntu16.04下,源码编译安装特定版本的MongoDB PHP扩展
    背景:我的php项目在连接其他mongo库时报:Serveratxxx:27017reportswireversion5,butthisversionoflibmongocrequiresatleast6(MongoDB3.6)原因:本地MongoDBPHP扩展的版本过高解决方法:降低本地PHP扩展MongoDB版本,现在要降到mongodb-1.12.0版本步骤:1:下载......
  • 编译时process_begin: CreateProcess | mutex/condition_variable 报错的一种解决办法
    系统:win10目的:想跑一下wisper.cpp前置操作:把该项目git下来后打算make,一make就报错注意,图里其实有两种错误,第一种是process_begin:CreateProcess(NULL,xxx)failed,第二种是error:'thread'isnotamemberof'std'.第二种错误是因为mingw不支持thread库,但是官方有给过补丁,可......
  • POCO编译报错:LNK1104 无法打开文件“libcrypto.lib”
    POCO编译报错1>LINK:fatalerrorLNK1104:无法打开文件“libcrypto.lib” 解决:1、项目  ->  属性  ->  C/C++ -> 常规 -> 附加包含目录,添加OPENSSL头文件路径C:\ProgramFiles\OpenSSL-Win64\include(OPENSSL安装路径) 2、项目  ->  属......
  • gcc编译
    GCC的简单使用在终端使用下面的命令,可以生成可执行文件“a.out”。gccmain.c编译的时候也可以指定可执行文件的名字。使用下面的命令,可以生成名为run.exe的可执行文件。gccmain.c-orun.exe生成可执行文件之后,如何运行?输入命令./run.exe即可执行。 使用gcc-vmain.c......
  • 全流程机器视觉工程开发(三)任务前瞻 - 从opencv的安装编译说起,到图像增强和分割
    前言最近开始做这个裂缝识别的任务了,大大小小的问题我已经摸得差不多了,然后关于识别任务和分割任务我现在也弄的差不多了。现在开始做正式的业务,也就是我们说的裂缝识别的任务。作为前言,先来说说场景:现在相机返回过来的照片:都是jpeg格式的照片,当然也可能是别的格式,目前主流是......
  • 编译着色器并在屏幕上绘图
    一.前言  本篇文章会继续上一篇文章开始的工作,在这篇文章中,我们首先会加载并编译前面定义的着色器,然后把他们链接在一起放在OpenGL的一个程序里,接下来就可以使用这个着色器程序在屏幕上绘制空气曲棍球桌子结构了。 二.加载着色器1.我们已经为着色器写了代码,下一步则要把......
  • MySQL Shell 8.0.32 for GreatSQL编译二进制包
    MySQLShell8.0.32forGreatSQL编译二进制包构建MySQLShell8.0.32forGreatSQL0.写在前面之前已经写过一篇前传MySQLShell8.0.32forGreatSQL编译安装,最近再次编译MySQLShell二进制包时,发现了一些新问题,因此重新整理更新本文档。1.几处新问题这次编译MySQLShe......
  • npm编译vue出错:Error code CERT_HAS_EXPIRED
    [Error]Theerrormessageisabouttheregistryhttps://npm.sap.com/youused.npmERR!codeCERT_HAS_EXPIREDnpmERR!errnoCERT_HAS_EXPIREDnpmERR!requesttohttps://npm.sap.com/@sap%2fcdsfailed,reason:certificatehasexpired[Solution]runcommand......
  • Qt 使用MSVC2017编译报错: C1083:无法打开包括文件: “stddef.h“的解决方案
    之前安装过QT的好几个版本:5.9,5.12,5.15,编译过项目。现在使用QT5.12.6+MSVC2017编译项目出现如下图所示报错,困扰了我2天。一开始,我通过卸载重装QT和 VS2017 都没有解决问题。今天晚上找到一个办法,就是在QT“项目”设置里面将头文件目录配置进去,终于将问题解决......