diff options
| author | Erik Kundiman <erik@megapahit.org> | 2025-06-06 10:28:39 +0800 | 
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2025-06-06 10:28:39 +0800 | 
| commit | 66251e9e06fb314b5d403d5faa83305f74b35a25 (patch) | |
| tree | bdf87eb6ad84ed41e9436c6ecbbaae44597f8e90 /indra/llfilesystem | |
| parent | 64ce4927e8ed65b09620c4080ec2942b6a52f31c (diff) | |
Fix another wstring Boost filesystem linking error
I couldn't get the LL_WARNS to link on Windows yet, so they're just
disabled for now, they're only warnings to the users anyway.
The error was:
llfilesystem.lib(lldiskcache.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::detail::path_traits::convert(unsigned short const *,unsigned short const *,class std::basic_string<char,struct std::char_traits<char>,cla
ss std::allocator<char> > &,class std::codecvt<unsigned short,char,struct _Mbstatet> const *)" (__imp_?convert@path_traits@detail@filesystem@boost@@YAXPEBG0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBV?$codecvt@GDU_Mbstatet@@@6@@Z) referenced in
function "public: void __cdecl LLDiskCache::clearCache(void)" (?clearCache@LLDiskCache@@QEAAXXZ) [C:\Users\erik\Documents\Megapahit\viewer\build-mingw64_nt-10.0-19045-x86_64\newview\megapahit.vcxproj]
Diffstat (limited to 'indra/llfilesystem')
| -rw-r--r-- | indra/llfilesystem/lldiskcache.cpp | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp index 58bbb995b0..d9b223fb49 100644 --- a/indra/llfilesystem/lldiskcache.cpp +++ b/indra/llfilesystem/lldiskcache.cpp @@ -114,14 +114,22 @@ void LLDiskCache::purge()          {              if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { +#if LL_WINDOWS +                if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else                  if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif                  {                      uintmax_t file_size = boost::filesystem::file_size(*iter, ec);                      if (ec.failed())                      {                          continue;                      } +#if LL_WINDOWS +                    const std::string file_path = utf16str_to_utf8str((*iter).path().wstring()); +#else                      const std::string file_path = (*iter).path().string(); +#endif                      const std::time_t file_time = boost::filesystem::last_write_time(*iter, ec);                      if (ec.failed())                      { @@ -166,7 +174,9 @@ void LLDiskCache::purge()  #endif              if (ec.failed())              { +#if !LL_WINDOWS                  LL_WARNS() << "Failed to delete cache file " << entry.second.second << ": " << ec.message() << LL_ENDL; +#endif              }          }      } @@ -241,12 +251,18 @@ void LLDiskCache::clearCache()          {              if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { +#if LL_WINDOWS +                if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else                  if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif                  {                      boost::filesystem::remove(*iter, ec);                      if (ec.failed())                      { +#if !LL_WINDOWS                          LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif                      }                  }              } @@ -274,13 +290,20 @@ void LLDiskCache::removeOldVFSFiles()          {              if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { +#if LL_WINDOWS +                if ((utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FORMAT) != std::string::npos) || +                    (utf16str_to_utf8str((*iter).path().wstring()).find(DB_FORMAT) != std::string::npos)) +#else                  if (((*iter).path().string().find(CACHE_FORMAT) != std::string::npos) ||                      ((*iter).path().string().find(DB_FORMAT) != std::string::npos)) +#endif                  {                      boost::filesystem::remove(*iter, ec);                      if (ec.failed())                      { +#if !LL_WINDOWS                          LL_WARNS() << "Failed to delete cache file " << *iter << ": " << ec.message() << LL_ENDL; +#endif                      }                  }              } @@ -315,7 +338,11 @@ uintmax_t LLDiskCache::dirFileSize(const std::string& dir)          {              if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())              { +#if LL_WINDOWS +                if (utf16str_to_utf8str((*iter).path().wstring()).find(CACHE_FILENAME_PREFIX) != std::string::npos) +#else                  if ((*iter).path().string().find(CACHE_FILENAME_PREFIX) != std::string::npos) +#endif                  {                      uintmax_t file_size = boost::filesystem::file_size(*iter, ec);                      if (!ec.failed()) | 
