Code::Blocks 有自己版本的#define 吗?
Does Code::Blocks have a #define for its own version?
我在 Code::Blocks 中为 wxWidgets 创建了一个新项目并注意到在生成的“about”中 window 一个“define”用于显示 wxWidgets 版本 (wxVERSION_STRING) .
我想在关于 window 中显示更多信息,包括 C::B
的版本
C::B是否有显示其版本的定义?
看起来[=44=] IDE 没有提供你想要的字符串常量,但是很容易将这个常量手动定义为宏,IDE 会自动将此宏添加到它编译的所有文件中。
顺便说一句,如果从命令行 运行 codeblocks
可执行文件,它将输出其版本 - 但是,我无法在 Code::Blocks 二进制文件中找到该字符串或配置文件 - 可能被混淆了。
hekto@ubuntu:~$ codeblocks
Starting Code::Blocks Release 20.03 rev 11997 2020-04-18, 19:47:24 - wx3.0.4 - gcc 9.3.0 (Linux, unicode) - 64 bit
为了定义一个宏 CB_VERSION
的值等于这个字符串,您可以打开 Global compiler settings
window,选择 #defines
面板并输入这个手动宏:
请注意宏值开头的 "\\"
字符串和宏值结尾的 \\""
字符串 - 没有它们,C++ 预处理器将无法传递此宏的值进入C++源代码。因此,下面的程序在 中编译并链接到 IDE,将输出 CB_VERSION
宏的值。
#include <iostream>
int main()
{
const char* ver = CB_VERSION;
std::cout << ver << std::endl;
}
更新。另一种获取当前 Code::Blocks IDE 信息的方法是查看 XML 文件 ~/.config/codeblocks/default.conf
。此文件包含一条注释,描述了产品的构建方式和时间:
<!-- application info:
svn_revision: 11997
build_date: 2020-04-18, 19:47:24
compiler_version: gcc 9.3.0
Linux Unicode
-->
另外这个文件中的XML节点VERSION
存放的是正式的产品版本和发布号:
<VERSION>
<str>
<![CDATA[20.03-r11997]]>
</str>
</VERSION>
但是,为了提取这些信息,您需要编写一些脚本并在编译之前调用它 - 这并不容易。所以,用版本信息定义一个宏看起来还是比较好。
我在 Code::Blocks 中为 wxWidgets 创建了一个新项目并注意到在生成的“about”中 window 一个“define”用于显示 wxWidgets 版本 (wxVERSION_STRING) .
我想在关于 window 中显示更多信息,包括 C::B
的版本C::B是否有显示其版本的定义?
看起来[=44=] IDE 没有提供你想要的字符串常量,但是很容易将这个常量手动定义为宏,IDE 会自动将此宏添加到它编译的所有文件中。
顺便说一句,如果从命令行 运行 codeblocks
可执行文件,它将输出其版本 - 但是,我无法在 Code::Blocks 二进制文件中找到该字符串或配置文件 - 可能被混淆了。
hekto@ubuntu:~$ codeblocks
Starting Code::Blocks Release 20.03 rev 11997 2020-04-18, 19:47:24 - wx3.0.4 - gcc 9.3.0 (Linux, unicode) - 64 bit
为了定义一个宏 CB_VERSION
的值等于这个字符串,您可以打开 Global compiler settings
window,选择 #defines
面板并输入这个手动宏:
请注意宏值开头的 "\\"
字符串和宏值结尾的 \\""
字符串 - 没有它们,C++ 预处理器将无法传递此宏的值进入C++源代码。因此,下面的程序在 中编译并链接到 IDE,将输出 CB_VERSION
宏的值。
#include <iostream>
int main()
{
const char* ver = CB_VERSION;
std::cout << ver << std::endl;
}
更新。另一种获取当前 Code::Blocks IDE 信息的方法是查看 XML 文件 ~/.config/codeblocks/default.conf
。此文件包含一条注释,描述了产品的构建方式和时间:
<!-- application info:
svn_revision: 11997
build_date: 2020-04-18, 19:47:24
compiler_version: gcc 9.3.0
Linux Unicode
-->
另外这个文件中的XML节点VERSION
存放的是正式的产品版本和发布号:
<VERSION>
<str>
<![CDATA[20.03-r11997]]>
</str>
</VERSION>
但是,为了提取这些信息,您需要编写一些脚本并在编译之前调用它 - 这并不容易。所以,用版本信息定义一个宏看起来还是比较好。