对 "boost::archive... "的未定义引用 g++ / wsl
我正在使用draco,并一起提升. Draco在此问题. 我试图安装Boost,我认为它已经完成了. 现在,我尝试在WSL上的VS代码中运行此命令: g++ -I ~/local/include -L ~/local/lib -o prog ObjContainer.cpp -ldracodec -lboost_system 错误: ObjContainer.cpp:(.text._ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEED2Ev[_ZN5boost7archive6detail15common_iarchiveINS0_15binary_iarchiveEED5Ev]+0x22): undefined reference to `boost::archive::detail::basic_iarchive::~basic_iarchive()' /tmp/ccqY0aGT.
0 2023-12-09
编程技术问答社区
在Windows Subsystem for Linux (WSL)下出现间歇性、随机的'文件未找到'错误。
我正在互相交流'致命错误:...找不到文件'使用GCC 4.8或clang 3.8在Ubuntu 16.04.2下在Windows子系统中运行的Linux(WSL),包括C ++ header文件, ,但自从几天前安装Windows 10 4月10日更新(版本1803,OS Build 17134.1)以来. clang编译器的示例错误消息: fatal error: 'boost/preprocessor/list/fold_left.hpp' file not found 来自GCC编译器的示例错误消息: fatal error: boost/mpl/aux_/at_impl.hpp: No such file or directory 我说该错误是间歇性的,因为如果我重新运行构建,中断构建的特定错误消失了,并且构建的运行时间更长一段时间,直到成功构建或随机构建未能将其他一些文件包含在相同的"未找到文件"错误. 这个故障的时机及其随机性使我怀疑这是
0 2023-12-09
编程技术问答社区
如何获得WinRT的逻辑CPU的数量?
我试图为Winrt编译Boost 1.49.0.我将其归结为一种方法:getSystemInfo(),该方法用于boost :: thread :: hardware_concurrency()以获取系统上逻辑处理器的数量. 我还没有在Winrt中找到任何替代品. 我可以使用另一种方法吗? 解决方案 您可以调用Windows API函数 GetNativeSystemInfo ,在地铁样式应用中允许. 其他解决方案 似乎没有一种简单的方法来获取WinRT中的此信息.如果您只想知道处理器体系结构,则可以使用Windows.System.ProcessorArchitecture,但这不会告诉您有多少逻辑CPU可用. Windows.System.Threading也不告诉您此信息. To get information about the physical CPU I've found 这个问题在MSDN论坛上,这表明我们可以使用 deviceenumer
0 2023-12-08
编程技术问答社区
为Windows Phone 8提供助力?
Windows Phone 8是否可以使用Boost二进制文件?我主要是在寻找基本的东西,例如shared_ptr和螺纹.请注意,线程需要构建手臂并使用正确的平台调用,而shared_ptr则可以使用蝙蝠. . 如果没有,如何为Windows Phone 8构建boost::thread? 更新:我检查了Winrt API和Boost源. Windows线程在Boost中的线程极大地依赖于线程本地存储(TLS),但这在WinRT上不支持.但是,似乎有一些纤维本地存储(FLS),但不是完全相同的. 解决方案 有一个此官方页面日期为2014年7月18日,确认 boost in Boost使用API​​中的某些库,这些图书馆在Windows Store和Phone Applications中都不可用,因此,我们已经对Boost Build System进行了改进,以支持针对Windows Windows商店的Windows运行时和电话. . 其他解决方案 我正在针对
0 2023-12-08
编程技术问答社区
如何在一个项目中只包括BOOST智能指针代码?
在不将所有Boost库中添加到项目的情况下,包括Boost Smart Pointer Library的最佳实践 ? 我只想在项目中提高智能指针库,而我不想入住/提交 200 MB 源代码(BOOST 1.42.0)将其纳入我的项目存储库中.此外,我的Windows Mobile Project本身甚至没有达到该尺寸的10%! 解决方案 对于智能指针库,您有两个选项. 复制您在源文件中包含的标题(shared_ptr.hpp等).然后复制其他文件,直到项目构建(确保维护目录结构). 使用boost 前者将确保添加最少的文件数量.对于任何大量的提升子集,后者的速度要快得多,但是它可能包含许多您不需要的文件(您的程序不支持平台的兼容性标题). 其他解决方案 只需在包含所需代码的文件夹中检查一下吗?尝试删除/移动/重命名"其他所有",并查看智能指针库的外部依赖性,可能不多.我几乎很肯定,它不需要任何构建的代码(即库),因此只需检查所有被包含的标题似乎就是要走的路
0 2023-12-08
编程技术问答社区
Boost C++和Windows CE 6.0
我可以为Windows CE 6.0提供成功构建的Stlport和Boost C ++.我可以使用Windows CE 6运行应用程序,并且都可以在调试终端发布​​模式下运行stlport. 我已经使用以下批处理文件构建了Boost: @echo off cls :build :release echo building boost in release shared library bjam ^ --with-system ^ --with-chrono ^ --with-date_time ^ --with-thread ^ --with-atomic ^ toolset=msvc-9.0~CEPlatform ^ variant=release ^ threading=multi ^ stdlib=stlport-5.2.1 ^ link=shared ^ runtime-link=shared :debug echo building boost in d
0 2023-12-07
编程技术问答社区
编译Boost 1.47 for Windows CE
实际上,有一些有关试图为Windows CE构建增强库的人的信息,但是没有人报告成功,甚至没有鉴于这样做所需的步骤.凭借两个最新版本(1.46和1.47),发行说明提到了他们的一个测试编译器是" Visual C ++,Windows Mobile 5,带有STLPORT:9.0:9.0",这似乎暗示了取得的成功(作为附带说明,给定的编译器很有趣,因为我能够下载的最新Stlport是5.2.1.我错过了什么吗?) 我发现的帖子似乎围绕着这里包含的文件: http://http://www. boost.org/development/tests/trunk/veecoftc.html .事情是,老实说,我不知道如何使用它.我能够为Windows CE构建Stlport,但是遵循Boost入门指南( http:http:http:http:http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html )我
0 2023-12-07
编程技术问答社区
构建Boost C++ WinCE
我知道这是类似的问题,但对我没有帮助. 我想在X86平台上为Windows CE 6构建Boost. 我已经在发行版中构建了stlport,作为成功的wince,我还添加了一些补丁并集成了opence时间库,并实现了一些缺少的ANSI C函数. STLPORT测试还可以(只是WCOUT,WCIN和WCERR IN_AVAIL()函数的问题,我不知道问题在哪里). 为了构建Boost,我创建了一个批处理文件,并以这种方式更改用户config.jam.构建还可以,但似乎我正在为Windows XP平台编译而不是Wince. 增强构建系统非常复杂,我不了解它的工作原理(文档不是很好,在Google上没有太多). Boost的构建还可以,但我无法运行应用程序.看来缺少一些dll或嘘声是错误的.当我使用调试器时,我收到的消息是" nessun Processo all'Estremita'della'della pipe" - >"管道末端没有过程".当我尝试从目标设备启动应用程
0 2023-12-07
编程技术问答社区
在有内存限制的嵌入式系统中使用boost
我们正在使用C ++来开发一个在嵌入式系统上在Windows CE 4中运行的应用程序. 我们的约束之一是,仅在启动期间,应用程序使用的所有内存应分配.我们编写了许多仅使用预关注内存而不是分配新的容器和算法. 您认为在这些条件下,我们有可能使用Boost库代替我们自己的容器? 欢迎任何评论和/或建议! 非常感谢, nic 解决方案 您可以为容器编写自己的分配器,该容器从固定尺寸的静态缓冲区分配.根据容器的使用模式,分配器可以像递增指针一样简单(例如,当您仅在App启动时一次插入容器时,并且不要连续添加/删除元素.) ) 其他解决方案 我们将Boost用于嵌入式系统.通过Boost,您可以选择您使用的内容.我们在所有项目中都使用 smart_ptr 和 boost::bind .我们为廉价手机编写软件. 而且,如果Windows CE可以在您的硬件上运行,我希望Boost 的部分适用. Boost的某些部分没有分配,您可能会发现它们有用.
0 2023-12-07
编程技术问答社区
如何使用共享内存在cpp和python之间共享cv::Mat进行处理
我正在使用BOOST/INTERCOCESS/提供的共享内存来共享模型和客户端之间的CV :: MAT(均C ++).现在,我需要在Python中使用模型.您能说出哪种是在C ++和Python之间共享CV :: MAT的最佳方法,而无需更改当前客户端.谢谢. 解决方案 使用映射的内存完成了任务,以共享C ++和Python进程之间的CV :: MAT. C ++ - 使用Boost将CV :: MAT复制到映射的共享内存 #include #include #include #include using namespace boost::interprocess;
0 2023-12-07
编程技术问答社区
如何在Cygwin 64位上使用boost asio库
我正在运行Windows 10 64位. cygwin是64位. 我从Cygwin Package Manager安装了Boost. 我尝试编译test.cpp: #include int main(int argc, char**argv) { return 0; } 使用命令 g++ -std=c++11 -Wall -g -D__USE_W32_SOCKETS D_WIN32_WINNT=_WIN32_WINNT_WIN7 test.cpp -o test.exe 但是编译失败. 看起来Posix正在使用. 有什么想法为什么失败? In file included from /usr/include/boost/asio/detail/fd_set_adapter.hpp:22:0, from /usr/include/boost/asio/detail/select_
0 2023-12-07
编程技术问答社区
无法在cmake中找到Boost
我正在使用cmake来构建一个PCL项目.在那里,我在一个安装程序中都使用了PCL.然后,Boost Path是C:/Program Files/PCL 1.5.1/3rdParty/Boost.请在我的CMake Debug版本下找到. [ C:/Program Files (x86)/CMake/share/cmake-3.4/Modules/FindBoost.cmake:615 ] BOOST_ROOT = C:/Program Files/PCL 1.5.1/3rdParty/Boost [ C:/Program Files (x86)/CMake/share/cmake-3.4/Modules/FindBoost.cmake:617 ] BOOST_INCLUDEDIR = [ C:/Program Files (x86)/CMake/share/cmake-3.4/Modules/FindBoost.cmake:619 ] BOOST_LIBRARYDI
0 2023-12-07
编程技术问答社区
我怎样才能找到系统不能运行我的应用程序的原因?
我有一个C ++程序,该程序运行命令并传递一些参数.代码如下: int RunApplication(fs::path applicationPathName,std::string arguments) { std::string applicationShortPath=GetShortFileName(applicationPathName); std::string cmd="\""+applicationShortPath +"\" "+ arguments+" >>log.txt 2>&1 \""; std::cout
0 2023-12-07
编程技术问答社区
Cmake无法找到Boost
我试图制作pcl示例项目.在这里CMAKE构建.但是Cmake给出了以下 的错误 Could NOT find Boost CMake Error at C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:38 (message): common is required but boost was not found Call Stack (most recent call first): C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:346 (pcl_report_not_found) C:/Program Files/PCL 1.5.1/cmake/PCLConfig.cmake:491 (find_external_library) CMakeLists.txt:5 (find_package) 我在 c:\ program Files \ pcl 1.5.1
0 2023-12-07
编程技术问答社区
boost/static_assert.hpp包括自己
我下载了Windows的最新和最大的提升,即1.65.1(ZIP文件).编译一个项目,我现在得到了static_assert.hpp所包含的错误.果然,这里完整: //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. //Distributed under the Boost Software License, Version 1.0. (See accompanying //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_QVM_STATIC_ASSERT #include #define BOOST_QVM_STATIC_ASSERT BOOST_STATIC_ASSERT #endif 我拥有的1.62的先前版本有一个s
0 2023-12-07
编程技术问答社区
boost::thread导致小事件句柄泄露?
我正在调试此数据库项目.它包装了对SQLite的访问,以进行更高级别的应用程序.它的设计目的是异步运行,也就是说,它具有executereQuestAsync()和iSrequestReady()之类的方法.当调用ExecutereQuestAsync时,它会产生一个boost ::线程来完成作业并立即返回函数.当较高级别的应用程序决定不再想要运行请求的结果时,它可以调用dmpstRemquest()取消它.由于很难优雅地取消数据库请求,因此DumpRequest的实现只需维护一个"清理监视器线程",该线程等待"完成请求"并删除它们.所有boost ::线程都是通过boost :: shared_ptr管理的,例如: boost::shared_ptr my_thread = new boost::thread(boost::bind(&DBCon::RunRequest, &this_dbcon)); 何时不再需要(要取消): vector
0 2023-12-06
编程技术问答社区
C++无法使用cygwin链接到boost库
我想知道为什么我不能链接boost库. 我在Windows 64位平台上使用Cygwin的GCC. makefile all: g++ -c main.cpp -std=c++11 -I'../include' g++ main.o ../libs/libboost_filesystem-vc120-mt-1_60.lib main.cpp #include int main() { return 0; } 错误: D:\tmp\test\example>make g++ -c main.cpp -std=c++11 -I'../include' g++ main.o ../libs/libboost_filesystem-vc120-mt-1_60.lib main.o:main.cpp:(.text+0x36): undefined reference to `boost:
2 2023-12-06
编程技术问答社区
使用SysGCC工具链和MinGW在Windows上为Raspberry Pi交叉编译Boost
我目前正在尝试跨编译 Boost 1.64.0 on Windows 7(64bit) Raspberry pi (使用Jessie)使用Jessie使用Jessie 我将所有内容安装到以下目录: 提升到 c:\ boost \ 1.64.0 sysgcc至 c:\ sysgcc \ raspberry mingw to c:\ mingw \ 6.3.0 将SYSGCC和MINGW的BIN文件夹添加到全局路径变量: c:\ sysgcc \ raspberry \ bin c:\ mingw \ 6.3.0 \ mingw32 \ bin 并创建了用户 - config.jam 在我的主目录中使用以下内容(请参阅GCC配置): # Copyright 2003, 2005 Douglas Gregor # Copyright 2004 John Maddock # Copyright 2002, 2003, 2004, 2007 Vladimir P
0 2023-12-06
编程技术问答社区
提升中的只写内存映射?
为什么不提升分解支持仅写内存映射? 也许我缺少某些内容,但不会仅写映射比读/写映射要快得多,因为操作系统不必在磁盘中读取页面,只需将页面从内存到一个内存到磁盘?此外,它将具有完全非阻止的好处(除了冲洗和破坏外). 我会通过切换到本机OS内存映射而受益? 解决方案 实际上,如果您分配了一个新的内存映射大小的文件,例如20GB,则会获得该大小的稀疏文件分配. 当"在"该文件的"映射"页面中时,需要进行读取操作(因为OS可能能够说明该页面在磁盘上尚未在磁盘上存在),并且仅在(如果)这些页面为污垢需要它们被写出. 当然,这是依赖于实施的,我认为Posix可以保证这一点,但这不是不合理的行为IYAM,并且等同于仅写映射. 其他解决方案 实际上,仅写入模板不会更快,因为OS只能跟踪更改/以整页粒度提供这些映射. 至少,如果您想避免模拟所有访问内核中此此类页面的费用(未实施),而不仅仅是映射页面. 以某种方式,我怀疑直接进入OS API而不是通过Bo
0 2023-12-06
编程技术问答社区
如何使用Boost.Asio和Boost.Procees在Windows的子进程中继承一个套接字?
我正在编写一台多进程套接字服务器,在Linux上它可以完美地工作,但是在Windows上,它只是崩溃而没有任何错误.我相信这是因为它实际上未正确继承套接字文件描述符. 下面是我的代码的删除版本,它仅在子进程中打印所有文件描述符.在我的Windows VM上,它打印了FD的列表,但是它从父过程中传递的FD不在列表中,它比任何列出的FD都高. 我找到了有关如何继承套接字的Windows文档: https://learn.microsoft.com/en-us/windows/win32/sysinfo/handle-inheritance 我还发现BOOST.PROCESS具有此属性,默认情况下建议 是继承的: https://wwwwwww.boost.org/doc/doc/doc/libs/1_78_0/doc/doc/doc/doc/html/boost/boost/boost/process/limit_handles.handles.hhandles.hhtle
0 2023-12-06
编程技术问答社区