codeblocks20.03配置boost

1 篇文章 0 订阅

Boost 编译及codeblocks 配置boost

由于更换笔记本电脑,且需要使用C++11 并生成新文件夹,需要使用一个cpp程序生成文件夹。
Ps: 个人习惯使用codeblocks来管理小工具和轻量级代码。

主要涉及boost代码段如下

//in File xxx.cpp
#include <boost/filesystem.hpp>
using namespace boost::filesystem;
 string op_path = "./boundaryData_fluc/" + to_string(1.4863*1e-5*i);

        path bop_path(op_path);
        string op_file = "/U";

        if (!exists(op_path))
        {
            create_directories(bop_path);
            std::cout << "Create directories :" << op_path << '\n';
        }

可见,主要涉及boost的filesystem这个库及其头文件。

预配置:
操作系统: windows 11
codelocks版本 : 20.03,带MingW 编译器版本;
boost库版本: 1.86.0;
其链接分别如下;

  1. https://www.codeblocks.org/
  2. https://www.boost.org/users/history/version_1_86_0.html

需要说明的是,我之前本打算使用boost的预编译版本作为链接库,但发现预编译版本为msvc版本,与visual code编辑器似乎有所绑定。链接库时我代码仍然找不到库,显示Undefined reference to xxx。 因此后续使用gcc编译boost,并使用codeblocks配置链接,程序编译成果,详细步骤如下:

S1: 使用gcc编译boost库

windows11里较为好用的gcc编译器有clang 和mingw,这里保持和codeblocks一致,选择Mingw

  1. 需要提前确认是否gcc已经在windows环境内适用。
    在powershell内可输入
gcc -v

其正常会显示其路径等信息。

Using built-in specs.
COLLECT_GCC=C:\Program Files\CodeBlocks\MinGW\bin\gcc.exe

如若不然,检查mingw是否添加到环境变量。
使用win + R 后输入sysdm.cpl, 点击“高级”-> “环境变量;”。双击 用户变量(推荐,也可添加到系统变量)的 Path 这一行,然后点击添加,将 Mingw的 \bin 路径信息告诉系统。
如以下路径所示,添加后记得确定。
C:\Program Files\CodeBlocks\MinGW\bin

  1. 在确认gcc环境后,进入boost文件夹内,(和bootstrap.bat 同级的文件夹,右键在此目录打开powershell, 运行脚本
.\bootstrap.bat gcc

运行后会生成b2.exe程序。
可以使用 b2 --help 查看编译的一些配置,由于不是本文重点,此处选择默认执行b2

.\b2

编译会有半小时左右。
编译好后会显示哪些target已经update,我这里有些多线程的库没有编译成功,新主机,mpi啥的我还没有配置,但是不影响filesystem库即可。
如果选择默认执行b2, 编译好的库会在\stage\lib这个新路径内。

S2 codeblocks 配置 boost库

打开codeblocks IDE,

  1. 点击Settings -> Compiler setting ->Search directories -> Compiler ->Add
    添加bootstrap.bat 同级路径:
    例如:
C:\local\cppLibs\boost_1_86_0\boost_1_86_0\
  1. 点击Settings -> Compiler setting ->Search directories -> Linker ->Add
    添加编译好的boost库路径:
    例如:
C:\local\cppLibs\boost_1_86_0\boost_1_86_0\stage\lib
  1. (针对本代码段所需filesystem库)
    告诉代码段链接库位置
    点击Settings -> Compiler setting ->Linker settings -> Link libraries ->Add
C:\local\cppLibs\boost_1_86_0\boost_1_86_0\stage\lib\libboost_filesystem-mgw8-mt-d-x64-1_86.a

以上三点都配置好,其实等同于命令行如下执行:

g++.exe  -IC:\local\cppLibs\boost_1_86_0\boost_1_86_0 -c xxx.cpp -o xxx.o
g++.exe -LC:\local\cppLibs\boost_1_86_0\boost_1_86_0\stage\lib -o xxx.exe xxx.o   C:\local\cppLibs\boost_1_86_0\boost_1_86_0\stage\lib\libboost_filesystem-mgw8-mt-d-x64-1_86.a

这里xxx.cpp 为执行代码段。

您好!要在 Code::Blocks 20.03配置 ege 图形库,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装了 Code::Blocks 20.03。如果尚未安装,请先下载和安装。 2. 接下来,下载 ege 图形库的最新版本。您可以在 CSDN 上搜索并下载 ege 图形库。 3. 下载完成后,将解压后的 ege 文件夹放置在一个您喜欢的位置。 4. 打开 Code::Blocks,创建一个新项目或打开现有项目。 5. 在 Code::Blocks 的菜单栏中选择 "Settings"(设置)> "Compiler..."(编译器)。 6. 在 "Selected compiler"(选择编译器)下拉菜单中,选择您正在使用的编译器。 7. 在 "Selected compiler"(选择编译器)选项卡中,点击 "Linker settings"(链接器设置)。 8. 在 "Other linker options"(其他链接器选项)文本框中添加以下命令:-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 9. 点击 "OK" 保存更改,并关闭设置窗口。 10. 接下来,在 Code::Blocks 的菜单栏中选择 "Project"(项目)> "Build options..."(构建选项)。 11. 在 "Selected project"(选择项目)选项卡中,选择您正在使用的编译器。 12. 在 "Compiler settings"(编译器设置)选项卡中,点击 "Other options"(其他选项)。 13. 在 "Other options"(其他选项)文本框中添加以下命令:-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 14. 点击 "OK" 保存更改,并关闭构建选项窗口。 现在,您应该已经成功配置了 ege 图形库。您可以尝试编写一个简单的程序来测试它是否正常工作。例如: ```cpp #include <graphics.h> int main() { initgraph(); // 初始化图形模式 circle(320, 240, 100); // 绘制一个圆形 getch(); // 等待用户按键 closegraph(); // 关闭图形模式 return 0; } ``` 希望这可以帮助到您!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值