gpt4 book ai didi

windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)

转载 作者:可可西里 更新时间:2023-11-01 10:48:30 29 4
gpt4 key购买 nike

我试图在代码块12.11上构建并运行boost.log库。我没有boost和boost.log的经验,想学习它,所以,首先我需要安装它。
安装Boost
首先,我遵循how to install boost using codeblocks上的步骤
结果在两台不同的计算机上(都有Windows7),我在%mypath%\boost\lib中得到了不同的文件列表
(一台电脑只有6个文件,另一台52个)
更大的列表是:
libboost_chrono-mgw47-mt-1_52.a公司
libboost_chrono-mgw47-mt-d-1_52.a公司
libboost_date_时间-mgw47-mt-1_52.a
libboost_date_时间-mgw47-mt-d-1_52.a
libboost_异常-mgw47-mt-1_52.a
libboost_异常-mgw47-mt-d-1_52.a
libboost_文件系统-mgw47-mt-1_52.a
libboost_文件系统-mgw47-mt-d-1_52.a
libboost_图-mgw47-mt-1_52.a
libboost_图-mgw47-mt-d-1_52.a
libboost_iostreams-mgw47-mt-1_52.a版本
libboost_iostreams-mgw47-mt-d-1_52.a版本
libboost_locale-mgw47-mt-1_52.a语言环境
libboost_locale-mgw47-mt-d-1_52.a语言环境
libboost_数学_c99-mgw47-mt-1_52.a
libboost_数学_c99-mgw47-mt-d-1_52.a
libboost_数学_c99f-mgw47-mt-1_52.a
libboost_数学_c99f-mgw47-mt-d-1_52.a
libboost_数学_c99l-mgw47-mt-1_52.a
libboost_数学_c99l-mgw47-mt-d-1_52.a
Libboost_数学_tr1-mgw47-mt-1_52.a
libboost_数学_tr1-mgw47-mt-d-1_52.a
Libboost_数学_tr1f-mgw47-mt-1_52.a
libboost_math_tr1f-mgw47-mt-d-1_52.a语言
libboost_数学_tr1l-mgw47-mt-1_52.a
libboost_math_tr1l-mgw47-mt-d-1_52.a语言
libboost_prg_exec_监视器-mgw47-mt-1_52.a
libboost_prg_exec_监视器-mgw47-mt-d-1_52.a
libboost_程序_选项-mgw47-mt-1_52.a
libboost_程序_options-mgw47-mt-d-1_52.a
libboost_random-mgw47-mt-1_52.a公司
libboost_随机-mgw47-mt-d-1_52.a
libboost_regex-mgw47-mt-1_52.a版
libboost_regex-mgw47-mt-d-1_52.a版本
libboost_序列化-mgw47-mt-1_52.a
libboost_序列化-mgw47-mt-d-1_52.a
libboost_signals-mgw47-mt-1_52.a号
libboost_signals-mgw47-mt-d-1_52.a号
libboost_系统-mgw47-mt-1_52.a
libboost_系统-mgw47-mt-d-1_52.a
libboost_test_exec_监视器-mgw47-mt-1_52.a
libboost_test_exec_monitor-mgw47-mt-d-1_52.a版本
libboost_线程-mgw47-mt-1_52.a
libboost_线程-mgw47-mt-d-1_52.a
libboost_定时器-mgw47-mt-1_52.a
libboost_定时器-mgw47-mt-d-1_52.a
libboost_unit_test_framework-mgw47-mt-1_52.a版本
libboost_单元测试框架-mgw47-mt-d-1_52.a
libboost_波-mgw47-mt-1_52.a
libboost_波-mgw47-mt-d-1_52.a
libboost串行化-mgw47-mt-1_52.a
libboost串行化-mgw47-mt-d-1_52.a
它是用bjam消息安装的:

...failed updating 10 targets...
...skipped 16 targets...
...updated 764 targets...

列表是否已满,或者我安装的boost遗漏了一些库?
为什么两台不同的计算机会对同一个操作给出不同的结果(我从link执行了两次相同的步骤)?
(只有6家银行同业拆借利率没有VC2010,52家银行同业拆借利率有VC2010,这可能是原因吗?)
安装boost.log
然后,在有52个libs的机器上,我开始按照 how to install boost.log中的步骤安装boost.log。
还有两个额外的lib:
libboost_log_setup-mgw47-mt-1_52.a(大小22733kb)
libboost_log_setup-mgw47-mt-d-1_52.a(大小74933kb)
来自BJAM的下一条结果消息:
...failed updating 6 targets...
...skipped 10 targets...
...updated 225 targets...

然后我从boost.log发行版中获取了样本:
#include <iostream>

//#define BOOST_LOG_DYN_LINK

#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>

#include <boost/log/common.hpp>
#include <boost/log/formatters.hpp>
#include <boost/log/filters.hpp>

#include <boost/log/utility/init/to_file.hpp>
#include <boost/log/utility/init/to_console.hpp>
#include <boost/log/utility/init/common_attributes.hpp>

#include <boost/log/attributes/timer.hpp>

namespace logging = boost::log;
namespace fmt = boost::log::formatters;
namespace flt = boost::log::filters;
namespace sinks = boost::log::sinks;
namespace attrs = boost::log::attributes;
namespace src = boost::log::sources;
namespace keywords = boost::log::keywords;

using boost::shared_ptr;

int main(int argc, char* argv[])
{
logging::init_log_to_console(std::clog, keywords::format = "%TimeStamp%: %_%");
logging::add_common_attributes();
src::logger lg;
BOOST_LOG(lg) << "Hello, World!";
return 0;
}

向项目添加了libs(以及包含文件的路径):
还有libboost_log_setup-mgw47-mt-d-1_52.a
但在编译时,我会出错:
obj\Debug\main.o||In function 'ZN5boost10log_mt_nt57sources12basic_loggerIcNS1_6loggerENS1_19single_thread_modelEED2Ev':|
C:\Program Files (x86)\CodeBlocks\include\boost-1_52\boost\log\sources\basic_logger.hpp|88|undefined reference to `boost::log_mt_nt5::basic_attribute_set<char>::~basic_attribute_set()'|

不知道怎么解决。
请解释我(如果可能的话):
我怎么知道我的boost编译/安装已经满了,如果没有,该怎么办(我确定给我6个libs的安装没有满,但我不知道该怎么办)?
我怎么知道我的boost.log编译已满?
我读到我必须将boost.lib构建为共享对象,但是libs在子目录“link static”中,尽管命令runtime link=shared for bjam。我应该做点什么吗?
我该怎么处理我犯的错误?
谢谢你的帮助。

最佳答案

我看你上面申请的名单上没有日志库。
未定义的引用意味着您的链接器无法在您提供的所有库中找到任何合适的函数。
很快你就错过了boost日志库的构建,而且你还收到了来自链接器的消息,无法找到库。

关于windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14028937/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com