草庐IT

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

coder 2024-06-15 原文

我试图在代码块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/

有关windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  3. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  4. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  5. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  6. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

  7. ruby - Heroku production.log 文件位置 - 2

    我想在heroku.com上查看我的应用程序日志的内容,所以我关注了thisexcellentadvice并拥有我所有的日志内容。但是我现在很想知道我的日志文件实际在哪里,因为“log/production.log”似乎是空的:C:\>herokuconsoleRubyconsoleforajpbrevx.heroku.com>>files=Dir.glob("*")=>["public","tmp","spec","Rakefile","doc","config.ru","app","config","lib","README","Gemfile.lock","vendor","sc

  8. 深度学习12. CNN经典网络 VGG16 - 2

    深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG

  9. ruby-on-rails - 无法构建 gem native 扩展 (mkmf (LoadError)) - Ubuntu 12.04 - 2

    这个问题在这里已经有了答案:Unabletoinstallgem-Failedtobuildgemnativeextension-cannotloadsuchfile--mkmf(LoadError)(17个答案)关闭9年前。嘿,我正在尝试在一台新的ubuntu机器上安装rails。我安装了ruby​​和rvm,但出现“无法构建gemnative扩展”错误。这是什么意思?$sudogeminstallrails-v3.2.9(没有sudo表示我没有权限)然后它会输出很多“获取”命令,最终会出现这个错误:Buildingnativeextensions.Thiscouldtakeawhi

  10. ruby - 错误 : Failed to build gem native extension on Windows - 2

    我在安装“redcarpet”gem时遇到以下错误。它在我friend的机器上安装没有问题。(我想安装它来运行yard)ruby版本:1.9.3命令输出:D:\Learning\Common_POM_FW\SampleProjects>yard[error]:Missing'redcarpet'gemforMarkdownformatting.Installitwith`geminstallredcarpet`D:\Learning\Common_POM_FW\SampleProjects>geminstallredcarpetTemporarilyenhancingPATHtoinc

随机推荐