CodeBlocks 16.01 升级到 CodeBlocks 20.03 后的一些感受

beat365官方入口素描网 📅 2025-10-20 17:08:06 👤 admin 👁️ 9349 ❤️ 268
CodeBlocks 16.01 升级到 CodeBlocks 20.03 后的一些感受

最近为了编写64位的应用程序,我把 CodeBlocks 16.01 升级到 CodeBlocks 20.03

CodeBlocks 16.01 自带的 gcc 是 tdm-gcc 4.9.2

CodeBlocks 20.03 自带的 gcc 是 w64-mingw32-gcc 8.1.0

使用 CodeBlocks 20.03 自带的 w64-mingw32-gcc 8.1.0 重新编译过去写的代码,有很多新的代码警告提示,竟然还找到了一处指针错误代码(返回局部变量的指针),新版本的gcc确实很给力。

注意:编译器由原来的 tdm-gcc 4.9.2 变成 w64-mingw32-gcc 8.1.0 后,编译出来的应用程序运行时需要依赖3个dll文件:

64位应用程序依赖3个dll文件分别是:

libgcc_s_seh-1.dll

libwinpthread-1.dll

libstdc++-6.dll

32位应用程序依赖3个dll文件分别是:

libgcc_s_dw2-1.dll

libwinpthread-1.dll

libstdc++-6.dll

由于以前用 tdm-gcc 好几年,编译生成的应用程序不需要依赖这3个dll文件,为了编译出的应用程序不依赖这3外dll文件,我又尝试下载了 tdm-gcc 9.2,官网下载:https://jmeubank.github.io/tdm-gcc/

下载后,为 CodeBlocks 20.03 配置好相关的编译路径后:

使用 tdm-gcc 9.2 重新编译之前的代码,直接报了多处错误提示:

然后编辑文件:TDM-GCC-9.2-32\include\sdkddkver.h

#ifndef _WIN32_WINNT

# ifdef WINVER

# define _WIN32_WINNT WINVER

# else

# ifdef _WARN_DEFAULTS

# warning "Assuming default setting of _WIN32_WINNT_WIN2K for _WIN32_WINNT"

# endif

# define _WIN32_WINNT _WIN32_WINNT_WIN2K

# endif

#endif

_WIN32_WINNT 默认是 _WIN32_WINNT_WIN2K,修改为: 0x0501 (win xp)

#ifndef _WIN32_WINNT

# ifdef WINVER

# define _WIN32_WINNT WINVER

# else

# ifdef _WARN_DEFAULTS

# warning "Assuming default setting of _WIN32_WINNT_WIN2K for _WIN32_WINNT"

# endif

# define _WIN32_WINNT 0x0501

# endif

#endif

重新编译,在快要编译完成的时候,360 弹出安全对话框,说什么 collect.. 之类的存在安全风险。

吓的我没敢继续。

我又想起 CodeBlocks 17.02 这个版本自带的是 tdm-gcc 5.1,我又在另一台电脑上安装了这个版本,然后提取 tdm-gcc 5.1,重新编译的代码,又提示这个错误:

关于这个错误,我有印像,以前也有,好像重新定义一个.h 文件中的宏定义就行了。

可我实在不想再改代码了,就放弃了。

-----------------------------------------------------------------------------------------------------------------------

以后,就只使用 CodeBlocks 20.03 自带的 w64-mingw32-gcc 8.1.0 来编译吧,就算编译出来的应用程序需要依赖那3个dll,但至少代码这一块我不需要改动太多,从代码维护角度看,省心一些吧。

相关养生推荐

十大英文励志歌曲排行榜
国内在365投注

十大英文励志歌曲排行榜

📅 07-24 👁️ 1482
黑苹果(Hackintosh)的大限是否到来?取决于你是否介意没有Wi
beat365官方入口素描网

黑苹果(Hackintosh)的大限是否到来?取决于你是否介意没有Wi

📅 06-30 👁️ 5398
重磅是什么意思
365打水账号怎么防止封号

重磅是什么意思

📅 07-24 👁️ 8449
王者荣耀代练平台哪个好?五大平台优劣全知晓,看这一篇就够了!
365打水账号怎么防止封号

王者荣耀代练平台哪个好?五大平台优劣全知晓,看这一篇就够了!

📅 07-21 👁️ 4798
姚记纸牌
beat365官方入口素描网

姚记纸牌

📅 10-01 👁️ 383
主播們的身價有多高?MC天佑從快手跳槽開價2千萬
365打水账号怎么防止封号

主播們的身價有多高?MC天佑從快手跳槽開價2千萬

📅 09-14 👁️ 3905