gpt4 book ai didi

c++ - 对`boost::filesystem::detail::get_current_path_api(std::str

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:46 25 4
gpt4 key购买 nike

大家圣诞快乐

昨天我下载了 Boost 库。我使用 CodeBlocks(使用 Mingw32 gcc V4.4.1) 编译它。 bjam 命令行是:bjam install --toolset=gcc--prefix="C:\zjc\PluginFramework\boost_1_42_0"--build-type=complete。 它是成功的。我想测试图书馆。我写了一些代码如下:



#include 
    
     
#include
使用 std::cout;
使用 std::wcout;
使用 std::endl;
#include <字符串>
使用标准::字符串;
使用 std::wstring;

#include
#include
#include
#include

int main(int argc, char* argv[])
{
//ANSI 字符格式
cout << boost::format( "%1% %2%") % "Hell"% "Low"< string s1 = boost::str( boost::format( "%2% %1%") % "Hell"% "Low");
cout << s1 << endl;
//UNICODE 字符格式
wcout << boost::wformat( L"%s %X") % L"-1 is"​​ % -1 << endl;
wstring s2 = boost::str( boost::wformat( L"%2$s %1$.2f") % 3.141592 % L"Version");
wcout << s2 << endl;
//获取应用程序的路径(ANSI 字符集),注意:boost::filesystem::path
string AnsiPath = boost::filesystem::initial_path ().string();
cout< //获取应用的路径(unicode字符集),note:boost::filesystem::wpath
wstring UnicodePath = boost::filesystem::initial_path ().string();
wcout< 系统(“暂停”);
返回 0;
}

出现一个编译错误:obj\Debug\main.o:C:\zjc\PluginFramework\boost_1_42_0\include\boost-1_42\boost\filesystem\operations.hpp|530|undefined reference to `boost::filesystem: :detail::get_current_path_api(std::string&)'| 我在链接器选项中添加了库:

boost_system-mgw44-mt-d-1_42.lib

libboost_system-mgw44-sd-1_42.lib

boost_system-mgw44-d.lib

boost_system-mgw44-d-1_42.lib

boost_system-mgw44-mt-d-1_42.lib

宏:

BOOST_ALL_DYN_LINK

BOOST_SYSTEM_NO_LIB

BOOST_SYSTEM_NO_DEPRECATED

_DEBUG

_控制台

BOOST_FILESYSTEM_VERSION

BOOST_FILESYSTEM_DYN_LINK

BOOST_LIB_DIAGNOSTIC

我在互联网上搜索。解决方案是链接 boost 文件系统库。但我已经链接了该库。我的环境:Win 7家庭版,Code::Blocks V 10.05.

最佳答案

Boost 文件系统库是包含的可链接(而非仅 header )库之一。只需在“boost_system”之前添加“boost_filesystem”即可。

如果一切设置正确,您就不必自己添加库:不要设置 BOOST_SYSTEM_NO_LIB/BOOST_FILESYSTEM_NO_LIB 除非你真的必须这样做。如果未设置,标​​头应为您处理依赖项。

带有 BOOST_..._DYN_LINK 的宏将导致 header 尝试链接共享库(您已将其与其他宏停用)。

请注意:如果您想手动添加库。不要混合使用它们,每个只添加一种您需要的变体,然后选择正确的变体(例如多线程调试“mt-d”)。

关于c++ - 对`boost::filesystem::detail::get_current_path_api(std::str,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628271/

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