- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下命令编译并运行了 bjam 甚至 b2.exe:
bjam --with-system --with-thread ..etc
我的库文件是:
libboost_system-vc110-mt-1_53.lib
libboost_system-vc110-mt-gd-1_53.lib
问题是,一旦我声明目录并将它们链接到我的项目中,它就会一直显示版本不匹配:在项目/MTRelease 中找到/MDRelease。
是的,我的项目是针对/MT 版本静态链接的,这正是我所需要的,但 boost 给我带来了麻烦。有任何想法吗?谢谢。
最佳答案
这听起来像是版本问题。您收到的错误表明某些组件是使用一组库构建的,而其他组件是使用另一组库构建的。
如果您正在构建使用此代码的其他组件以及不同类型的库,例如 MT(多线程 - 无调试)或 MDd(dll 的多线程调试),那么您可能会遇到此错误。如果您为 Boost 链接了错误的库集,您也可能会遇到此错误。您需要使用您在自己的代码中使用的相同类型的库进行构建。如果您正在使用 MTD,那么也可以使用 Boost 库的 MTD 版本进行构建。
要查看您的项目正在使用哪些库,请在“解决方案资源管理器”窗口中右键单击该项目并选择属性。也可以从项目菜单中选择属性,但在执行此操作之前,请确保您在该项目中有一个文件作为在编辑窗口中打开的当前文件。在运行时库下,您将看到正在使用的库类型。如果项目类型是dll,那么这个值真的应该设置为MDd。要查看它是什么类型的项目,请单击属性下的链接器(或库管理器)选项,如果输出文件是 dll,则项目类型是 dll。如果它说库或exe,那么该项目分别是库或exe。给定类型的所有项目都应该以相同的方式构建。例如,您不应该尝试混合和匹配发布版本和调试版本。如果您有正在构建的 exe,则使用用于构建项目库类型的任何库。要设置库,请在属性下选择配置属性/C/C++/代码生成/运行时库,然后从下拉框中选择一种类型。
如果所有项目的配置看起来都是正确的,请尝试从头开始重建。这可以通过右键单击项目并选择清理,然后选择重建来完成。
当运行 b2.exe 构建库时,我总是使用 -q 选项使其在遇到错误时停止。如果构建中有错误,有时很难发现它们,因为 b2 有相当多的输出。有关与 b2 关联的选项列表,请参阅此 link .
另请注意,文件 libboost_system-vc110-mt-1_53.lib 只能用于 VS 2012 项目。如果您不使用 VS 2012,那么您需要做两件事。首先,您可能无法在 2012 之前的任何版本的 Visual Studio 中使用 boost 1.53 或更高版本,因为 2012 是第一个最好地支持最新版本的 C++ 标准的版本。因此,您可能不得不改用 1.52。您需要做的第二件事是在 b2 中指定您使用工具集选项使用的 Visual Studio 版本(例如 - --toolset=msvc-10.0 - 如果使用 VS 2010),以便它构建正确的库给你。
关于c++ - 静态 boost/MT 发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15744585/
在boost中,有两种类型的lib,一种是以mt-gd结尾,另一种是以mt-s结尾。这两者有什么区别? 最佳答案 阅读Boost Getting Started on Windows mt:多线程 d
我在 vs2012 的“release”下编译了 Quantlib 库,得到了 lib 文件,QuantLib-vc110-mt.lib。 我的问题是这个文件名中的“mt”是什么意思?我的猜测是它与“
我在 VS 中出现链接错误。它找不到 libboost_filesystem-vc140-mt-1_61.lib。但是我有 boost_filesystem-vc140-mt-1_61.lib。为什么
所以我找到了以下代码。 mt 和 mt-xs 代表什么?谷歌搜索没有找到相关信息,有没有文档可以告诉我? 最佳答案 这是一个间距值。
所以我找到了以下代码。 mt 和 mt-xs 代表什么?谷歌搜索没有找到相关信息,有没有文档可以告诉我? 最佳答案 这是一个间距值。
我想在我的网站上对齐一些元素,我已经在我的 HTML 中使用了 mt-5,但我需要更多的边距。我该怎么做? 最佳答案 Bootstrap 没有更高的值(value),但您可以创建自己的类。文档说 "Y
我需要找到一种方法以不同的顺序将解析树转移到另一个解析树。 它适用于具有 SVO 和 SOV 架构的两种语言的机器翻译项目。 t1 = s(np(n(he)), vp( v(went), np(n(h
我有一个 MT.Dialog,我在其中添加了一些日志信息。 行可以有不同的高度。 我如何确保我的 MT.Dialog 始终滚动到底部,以便始终可见整个最后一行? 但是 .... 如果用户向上滚动列表,
我有以下递归关系: T(n) = T(n/2) + T(n/2) + n 在这种情况下,我认为解决方案是通过以下方式找到的: T(n) = T(n/2) + T(n/2) + n = 2T(n/2
我将编写我的程序,无论其版本如何,它都使用 boost_python。由于程序是多线程的,所以我必须使用 libboost_python-mt。问题是,当我安装 libboost_python-dev
我正在尝试将我的可执行文件部署到另一台机器,因此我需要非调试运行时。 切换到非调试运行时/MT 会导致链接错误。/Mtd 编译正常。以下是许多错误的示例。 1>libcpmtd.lib(_tolowe
我正在试图理解编译C/C++项目时如何使用MT和MD选项。然而,由于无法将这些假定的缩略语扩展为有意义的短语,我忘记了从一段到下一段哪个是哪个。奇怪的是,我读过的文章都不是从定义M、T和D开始的,它们
我试图计算一个大矩阵中所有元素的总和。以下是测试用例: MT 和 AVX 耗时 37 秒 MT 且无 AVX 需要 40 秒 AVX 且无 MT 需要 49 秒 既不是 AVX 也不是 MT 105
MT 支持 SMTP SendMail,还是我坚持使用 MFMailComposeViewController?现在,我可以使用它(MFMailComposeViewController),但是当我添
为了读取和解析MT942、MT940文件,推荐使用哪个库。 我遇到了两种选择, 使用由 PROWIDE 提供的开源库 使用 SWIFT 标准库 - SWIFT 有没有其他方法可以读取和解析 SWFIT
此命令有效: robocopy \\build7\d$ d: *.* /mir /XD "System Volume Information" /XD "$Recycle.Bin" 但是当我尝试
您使用哪个Apple iOS SDK版本来构建MonoTouch 4.0.3应用程序? 最佳答案 从技术上讲,它们应从3.0开始运行,但是如果使用3.0 IOS SDK,则可能会遇到一些限制。 当前与
任何人都可以帮忙,我想更改我的图像(按钮),当我按下我的按钮图像时,我打开 MT.Dialog 然后我登录,当我登录时我想让按钮改变我该怎么做,我有找到了代码,但它在 MT.Dialog 中不起作用这
我使用以下命令编译并运行了 bjam 甚至 b2.exe: bjam --with-system --with-thread ..etc 我的库文件是: libboost_system-vc110-m
我们的项目结构如下。 1) MainApp,它使用boost动态加载dll,所有dll项目/模块都是用/MD构建的。 2) 这些 dll 所需的任何其他项目都构建为静态 (.lib) 或动态 (.dl
我是一名优秀的程序员,十分优秀!