gpt4 book ai didi

visual-c++ - VC++ 2010 想要链接我什至没有指定的 boost 库

转载 作者:行者123 更新时间:2023-12-04 18:53:13 25 4
gpt4 key购买 nike

我正在尝试使用 MSVC 2010 而不是 GCC 构建我的应用程序。使用 GCC 一切正常。我的应用程序使用 boost_system 和 boost_thread 库。
我在“系统”布局中使用 VC2010 构建了 boost,这意味着这些库仅命名为 libboost_system.lib(而不是 libboost_system_compiler_threading_version_wtf_snafu.lib)
这些库位于 C:\Boost\lib,
Makefile 指定

LFLAGS        = /NOLOGO /INCREMENTAL:NO /SUBSYSTEM:CONSOLE
LIBS = /LIBPATH:C:/Boost/lib libboost_system.lib libboost_thread.lib Ws2_32.lib

调用 nmake 时它会编译,但是当尝试链接它时会退出
LINK : fatal error LNK1104: cannot open file 'libboost_date_time-vc100-mt-1_43.lib

我的意思是认真的,WTF?我告诉它链接 libboost_systen.lib 和 libboost_thread.lib 它怎么会尝试链接 libboost_data_time 以及为什么它假设我在“标记”布局中构建了库?
我怎样才能阻止 MSVC 试图变得聪明并猜测我可能想要链接的内容?

谢谢,
菲利普

最佳答案

这是 Boost 库的一个特性,具有用于自动链接的兼容编译器。

(那些令人费解的库名称涵盖了平台上可用的无数线程和链接选项;有充分的理由在 Windows 上使用该约定......)

更多信息在这里:

http://www.boost.org/doc/libs/1_33_1/more/getting_started.html#auto-link

我找不到更新版本的页面,但我相信 BOOST_ALL_NO_LIB 和相关选项在 1.43 中仍然有效。

关于visual-c++ - VC++ 2010 想要链接我什至没有指定的 boost 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960920/

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